将Bitmap和Png图像转换为文本的简便方法,反之亦然

时间:2010-03-03 04:23:56

标签: c# png bitmap image-conversion

翻译位图的最简单方法是什么? Png to string AND BACK AGAIN。我一直在尝试通过内存流进行一些保存,但我似乎无法让它工作!

显然我不清楚, 我想要的是能够将Bitmap类与其中的图像转换为系统字符串。从那里我希望能够将我的字符串抛出一点,然后将其转换回Bitmap以显示在PictureBox中。

2 个答案:

答案 0 :(得分:8)

根据@peters的回答,我最终使用了这个:

string bitmapString = null;
using (MemoryStream memoryStream = new MemoryStream())
{
    image.Save(memoryStream, ImageFormat.Png); 
    byte[] bitmapBytes = memoryStream.GetBuffer();
    bitmapString = Convert.ToBase64String(bitmapBytes, Base64FormattingOptions.InsertLineBreaks);
}

Image img = null;
byte[] bitmapBytes = Convert.FromBase64String(pictureSourceString);
using (MemoryStream memoryStream = new MemoryStream(bitmapBytes))
{
    img = Image.FromStream(memoryStream);
}

答案 1 :(得分:4)

从位图到字符串:

MemoryStream memoryStream = new MemoryStream();
bitmap.Save (memoryStream, ImageFormat.Png);
byte[] bitmapBytes = memoryStream.GetBuffer();
string bitmapString = Convert.ToBase64String(bitmapBytes, Base64FormattingOptions.InsertLineBreaks);

从字符串到图像:

byte[] bitmapBytes = Convert.FromBase64String(bitmapString);
MemoryStream memoryStream = new MemoryStream(bitmapBytes);
Image image = Image.FromStream(memoryStream);