ファイルに書き込み、Bitmap
ファイルから読み取ると、透明度が正しく取得されます。
using (Bitmap bmp = new Bitmap(2, 2))
{
Color col = Color.FromArgb(1, 2, 3, 4);
bmp.SetPixel(0, 0, col);
bmp.Save("J.bmp");
}
using (Bitmap bmp = new Bitmap("J.bmp"))
{
Color col = bmp.GetPixel(0, 0);
// Value of col.A = 1. This is right.
}
しかし、 を に書き込んでBitmap
からMemoryStream
読み取るとMemoryStream
、透過性が失われます。すべてのアルファ値は になり255
ます。
MemoryStream ms = new MemoryStream();
using (Bitmap bmp = new Bitmap(2, 2))
{
Color col = Color.FromArgb(1, 2, 3, 4);
bmp.SetPixel(0, 0, col);
bmp.Save(ms, ImageFormat.Bmp);
}
using (Bitmap bmp = new Bitmap(ms))
{
Color col = bmp.GetPixel(0, 0);
// Value of col.A = 255. Why? I am expecting 1 here.
}
Bitmap
を に保存しMemoryStream
、透過的に読み返したいと思います。この問題を解決するにはどうすればよいですか?