C# を使用して、一時ファイルに保存し、 を使用して結果を読み取るよりも、 Windows をBitmap
に変換するより良い方法はありますか?byte[]
FileStream
ベストアンサー1
方法はいくつかあります。
画像コンバーター
public static byte[] ImageToByte(Image img)
{
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
これは多くのコードを必要としないので便利です。
メモリストリーム
public static byte[] ImageToByte2(Image img)
{
using (var stream = new MemoryStream())
{
img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
return stream.ToArray();
}
}
これは、ファイルがディスクではなくメモリに保存されることを除いて、あなたが行っていることと同じです。コードは増えますが、ImageFormat のオプションがあり、メモリまたはディスクに保存する間で簡単に変更できます。