将位图和 PNG 转换为字符串并再次返回的最简单方法是什么。我一直在尝试通过内存流等进行一些保存,但我似乎无法让它工作!
显然我并不清楚,我想要的是能够将带有图像的位图类翻译成系统字符串。从那里我希望能够将我的字符串扔一下,然后将其转换回位图以显示在 PictureBox 中。
将位图和 PNG 转换为字符串并再次返回的最简单方法是什么。我一直在尝试通过内存流等进行一些保存,但我似乎无法让它工作!
显然我并不清楚,我想要的是能够将带有图像的位图类翻译成系统字符串。从那里我希望能够将我的字符串扔一下,然后将其转换回位图以显示在 PictureBox 中。
根据@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);
}
从位图到字符串:
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);