ビットマップとPNGを文字列に変換してもう一度戻す最も簡単な方法は何ですか。私はメモリストリームなどを介していくつかの保存を試みてきましたが、それを機能させることができないようです!
どうやら私ははっきりしていませんでしたが、私が望んでいるのは、画像を含むBitmapクラスをシステム文字列に変換できるようにすることです。そこから、文字列を少し投げて、それをビットマップに変換してPictureBoxに表示できるようにしたいと思います。
ビットマップとPNGを文字列に変換してもう一度戻す最も簡単な方法は何ですか。私はメモリストリームなどを介していくつかの保存を試みてきましたが、それを機能させることができないようです!
どうやら私ははっきりしていませんでしたが、私が望んでいるのは、画像を含むBitmapクラスをシステム文字列に変換できるようにすることです。そこから、文字列を少し投げて、それをビットマップに変換して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);