Selamat tinggal kepada fail sementara: dua kaedah penukaran yang cekap daripada Bitmap kepada tatasusunan bait
Menukar Windows Bitmap kepada tatasusunan bait ialah tugas biasa dalam pembangunan perisian. Walaupun menyimpan Bitmap ke fail sementara dan kemudian membacanya menggunakan FileStream adalah kaedah yang mudah, ia bukanlah penyelesaian yang paling berkesan. Artikel ini akan memperkenalkan dua kaedah alternatif yang tidak memerlukan fail sementara.
Kaedah 1: Kelas Penukar Imej
Kelas ImageConverter menyediakan kaedah penukaran yang mudah yang boleh diselesaikan dengan hanya beberapa baris kod:
<code class="language-c#">public static byte[] ImageToByte(Image img) { ImageConverter converter = new ImageConverter(); return (byte[])converter.ConvertTo(img, typeof(byte[])); }</code>
Kaedah 2: MemoryStream (MemoryStream)
Pendekatan lain ialah menggunakan aliran memori. Pendekatan ini mensimulasikan penyimpanan ke fail sementara, tetapi menyimpan data dalam ingatan:
<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 penstriman memori memberikan fleksibiliti yang lebih besar, anda boleh menentukan ImageFormat dan memilih sama ada untuk menyimpan ke memori atau cakera.
Ringkasan
Kedua-dua ImageConverter dan MemoryStream menyediakan alternatif yang berdaya maju untuk Bitmap kepada penukaran tatasusunan bait tanpa menggunakan fail sementara. Kaedah ImageConverter adalah lebih ringkas, manakala kaedah MemoryStream menyediakan lebih kawalan. Anda boleh memilih kaedah yang paling sesuai berdasarkan keperluan khusus anda.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar peta bit kepada tatasusunan bait tanpa menggunakan fail sementara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!