Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menukar Bitmap dengan Cekap kepada Array Byte dalam C#?

Bagaimanakah Saya Boleh Menukar Bitmap dengan Cekap kepada Array Byte dalam C#?

Linda Hamilton
Lepaskan: 2025-01-23 14:57:13
asal
899 orang telah melayarinya

How Can I Efficiently Convert a Bitmap to a Byte Array in C#?

Peta bit yang cekap kepada penukaran tatasusunan bait dalam C#

Menyimpan peta bit Windows ke fail sementara dan kemudian membacanya sebagai tatasusunan bait ialah kaedah penukaran biasa, tetapi ia tidak cekap. Berikut ialah dua alternatif dalam C# yang menawarkan prestasi yang lebih baik.

Gunakan ImageConverter

Kelas ImageConverter menyediakan cara mudah untuk menukar imej kepada tatasusunan bait:

public static byte[] ImageToByte(Image img)
{
    ImageConverter converter = new ImageConverter();
    return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
Salin selepas log masuk

Kaedah ini tidak memerlukan pengekodan yang meluas dan sesuai untuk tugas penukaran yang lebih kecil.

Gunakan MemoryStream

Kelas MemoryStream membolehkan anda menyimpan imej ke memori dan bukannya cakera:

public static byte[] ImageToByte2(Image img)
{
    using (var stream = new MemoryStream())
    {
        img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
        return stream.ToArray();
    }
}
Salin selepas log masuk

Kelebihan tambahan kaedah ini ialah pilihan format imej dan pilihan untuk menyimpan data ke cakera atau menyimpannya dalam ingatan.

Alternatif ini menyediakan penyelesaian yang cekap dan fleksibel untuk menukar peta bit kepada tatasusunan bait, mengurangkan operasi cakera yang tidak perlu dan meningkatkan prestasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Bitmap dengan Cekap kepada Array Byte dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan