ホームページ >バックエンド開発 >C++ >Windows ビットマップをバイト配列に効率的に変換するにはどうすればよいですか?

Windows ビットマップをバイト配列に効率的に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-23 15:12:11906ブラウズ

How to Efficiently Convert a Windows Bitmap to a Byte Array?

Windows ビットマップをバイト配列に変換します

Windows ビットマップをバイト配列に変換することは、さまざまなアプリケーションで一般的なタスクです。画像を一時ファイルに保存し、FileStream を使用してその内容を読み取る方法は実行可能な方法ですが、より効率的で一般的な方法もあります。

ImageConverter クラス

ImageConverter クラスを使用するのが便利です:

<code class="language-c#">public static byte[] ImageToByte(Image img)
{
    ImageConverter converter = new ImageConverter();
    return (byte[])converter.ConvertTo(img, typeof(byte[]));
}</code>

このメソッドは、追加のコーディングなしで画像をバイト配列に簡単に変換します。

メモリーストリーム

もう 1 つの方法は、メモリ ストリームを使用することです:

<code class="language-c#">public static byte[] ImageToByte2(Image img)
{
    using (var stream = new MemoryStream())
    {
        img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
        return stream.ToArray();
    }
}</code>

この方法は一時ファイル方法をシミュレートしますが、イメージをディスクに保存する代わりにメモリに保存します。これにより柔軟性が高まり、ニーズに応じてメモリまたはディスクに保存することを選択できます。

以上がWindows ビットマップをバイト配列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。