ホームページ >バックエンド開発 >C++ >C# でビットマップをバイト配列に変換する最も効率的な方法は何ですか?

C# でビットマップをバイト配列に変換する最も効率的な方法は何ですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-23 14:52:09956ブラウズ

What's the Most Efficient Way to Convert a Bitmap to a Byte Array in C#?

C# ビットマップをバイト配列に効率的に変換するいくつかの方法

ビットマップをバイト配列に変換する FileStream メソッドは一般的で理解しやすいですが、効率は最適ではありません。より効率的な方法を 2 つ紹介します:

1. ImageConverter を使用します:

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

2. MemoryStream を使用します:

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

メソッドの比較:

  • ImageConverter: コードはシンプルで使いやすいです。
  • MemoryStream: カスタム画像形式をサポートし、ディスク操作を行わずにメモリに直接保存します。

どちらの方法も FileStream 方法よりも高速で効率的です。どの方法を選択するかは、特定のアプリケーション シナリオのニーズによって異なります。

以上がC# でビットマップをバイト配列に変換する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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