как преобразовать string в control.image c# я получаю очень страшную строку вида Code: �PNG\r\n\n\0\0\0\rIHDR\0\0\0\0\0�\b\0\0\0��yN\0\0\0\tpHYs\0\0\v\0\0\v\0��\0\0\nOiCCPPhotoshop ICC profile\0\0xڝSgTS�=���BK���KoR\b RB���&*!\tJ�!��Q�EEȠ�����Q,\f�\n�\a�!���������{�kּ������>���\a�\b\f�H3Q5�\f�B������.@�\n$p\0\b�d!s�#\0�~<<+\"�\a�\0x�\v\b\0�M��0���B�\\���t�8K\b�\0@z�B� ... \0@F���&S\0�\0`�cb�\0P-\0`'��\0����{\0[�!��\0 e�D\0h;\0��V�E\0X0\0fK�9\0�-\00IWfH\0��\0��\v�\0\b\f\00Q��)\0{\0`�##x\0��\0F�W<�+��*\0\0x��<�$9E�[\b-\n\f\f���Շ��q�ou%�f���4Bsڋ��Ƿ[ZZڣG=�i�~~~� �aaa�[���d�\n���S�҄��jMe噳gϜ9�e��W�����\0\0� ее мне нужно преобразовать в изображение каким образом это можно сделать это фрагмент строки
это не изображение, а говно-код. скачивайте ещё раз, само изображение. IrfanView вам поможет с обработкой.
Code: public Image GetImage(string url, string referer) { Image image = null; try { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.AllowAutoRedirect = false; req.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; req.Referer = referer; req.Method = "GET"; req.Accept = "image/png,image/*;q=0.8,*/*;q=0.5"; req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 Firefox/8.0.1"; req.Headers.Add("Accept-Encoding", "gzip, deflate"); req.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3");// req.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.3"); if (!string.IsNullOrEmpty(_cookie)) req.Headers.Add("Cookie", _cookie); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); using (Stream stream = resp.GetResponseStream()) { byte[] bytes = ReadFully(stream); image = bytesToImage(bytes); } } catch(Exception ex) { Console.WriteLine(ex.Message); } return image; } Image img = GetImage("http://....png", ""); img.Save("image.png");
Бред не неси, ок? Это не код, а изображение, которое он получил в виде строки. Надо просто преобразовать строку в набор байтов, а затем в изображение. Первый способ я уже показал, есть и второй способ: Code: public static System.Drawing.Image bytesToImage(byte[] byteArrayIn) { MemoryStream ms = new MemoryStream(byteArrayIn); System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms); return returnImage; } public static byte[] StrToByteArray(string str) { System.Text.UTF8Encoding encoding=new System.Text.UTF8Encoding(); return encoding.GetBytes(str); } image_string - твоя строка с картинкой Image img = bytesToImage(StrToByteArray(image_string));