2016-09-26 4 views
-2

Я написал этот кодизображение для строки текста в C#

MemoryStream ms = new MemoryStream(); 
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); 

Теперь я хочу, чтобы проверить текст мс. Как я могу это сделать?

+0

MemoryStream не имеет свойства Text, если это то, о чем вы просите. Что бы он сказал? – Plutonix

+1

Вы не можете представлять исходные байты как текст напрямую. Единственный способ - кодировать его в качестве кодированной строки базы 64. f.e 'Convert.ToBase64String (ms.ToArray());' – pwas

+1

Вы хотите иметь возможность отображать двоичный контент изображения как строку, которая может быть скопирована/вставлена ​​и (например) отправлена ​​по электронной почте? Попробуйте кодировку Base64. –

ответ

1

С помощью этого кода можно кодировать байты изображения в шестнадцатеричное строковое представление:

Byte[] a = ms.ToArray(); 
String text = BitConverter.ToString(a); 
0

Вы можете попробовать с этим кодом ....

  var url = HostingEnvironment.MapPath("~/Images/" + name); 
      byte[] myByte = System.IO.File.ReadAllBytes(url); 
      using (MemoryStream ms = new MemoryStream()) 
      { 
       ms.Write(myByte, 0, myByte.Length); 
       i = System.Drawing.Image.FromStream(ms); 
       System.Drawing.Image imageIn = i.GetThumbnailImage(100, 100,()=> false, IntPtr.Zero); 
       imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); 
       var storedUrl = "data:image;base64," + Convert.ToBase64String(ms.ToArray()); 
       return storedUrl; 
      } 
+0

Можете ли вы добавить описательный контекст вокруг того, что вы делаете, и почему вы считаете, что это решает проблему? – LordWilmore

0

Я использую это, чтобы отправить изображение в виде строки:

string path = @"C:\Users\user6\Pictures\wp\tinypotato.jpg"; 
    string myString = Convert.ToBase64String(File.ReadAllBytes(path)) 
    Debug.WriteLine(myString); 
... 

BR!

 Смежные вопросы

  • Нет связанных вопросов^_^