Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar Bitmap Windows kepada Array Byte dengan Cekap?

Bagaimana untuk Menukar Bitmap Windows kepada Array Byte dengan Cekap?

Barbara Streisand
Barbara Streisandasal
2025-01-23 15:12:11906semak imbas

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

Tukar bitmap Windows kepada tatasusunan bait

Menukar bitmap Windows kepada tatasusunan bait ialah tugas biasa dalam pelbagai aplikasi. Walaupun menyimpan imej ke fail sementara dan kemudian menggunakan FileStream untuk membaca kandungannya adalah pendekatan yang berdaya maju, terdapat pendekatan yang lebih cekap dan umum.

Kelas Penukar Imej

Cara mudah ialah menggunakan kelas ImageConverter:

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

Kaedah ini menukar imej kepada tatasusunan bait dengan mudah tanpa pengekodan tambahan.

MemoryStream

Cara lain ialah menggunakan strim memori:

<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>

Kaedah ini mensimulasikan kaedah fail sementara, tetapi bukannya menyimpan imej ke cakera, ia menyimpannya dalam ingatan. Ini memberikan fleksibiliti, membolehkan anda memilih untuk menyimpan ke memori atau cakera bergantung pada keperluan anda.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Bitmap Windows kepada Array Byte dengan Cekap?. 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