ビットマップをバイト配列に変換する 質問する

ビットマップをバイト配列に変換する 質問する

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 のオプションがあり、メモリまたはディスクに保存する間で簡単に変更できます。

ソース:http://www.vcskicks.com/image-to-byte.php

おすすめ記事