Rumah >pembangunan bahagian belakang >C++ >Apakah Cara Paling Cekap untuk Menukar Bitmap kepada Array Byte dalam C#?

Apakah Cara Paling Cekap untuk Menukar Bitmap kepada Array Byte dalam C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-23 14:52:091009semak imbas

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

Beberapa cara untuk menukar C# Bitmap kepada tatasusunan bait dengan cekap

Tukar Bitmap kepada tatasusunan bait Walaupun kaedah FileStream adalah biasa dan mudah difahami, kecekapannya tidak optimum. Berikut ialah dua kaedah yang lebih cekap:

1. Gunakan ImageConverter:

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

2. Gunakan 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>

Perbandingan kaedah:

  • ImageConverter: Kod ini ringkas dan mudah digunakan.
  • MemoryStream: Menyokong format imej tersuai dan menyimpannya terus ke memori tanpa operasi cakera.

Kedua-dua kaedah adalah lebih pantas dan lebih cekap daripada kaedah FileStream. Kaedah yang mana untuk dipilih bergantung pada keperluan senario aplikasi tertentu.

Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Menukar Bitmap kepada Array Byte dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn