將Windows位圖轉換為位元組數組
在各種應用程式中,將Windows位圖轉換為位元組數組是一項常見的任務。雖然將映像保存到臨時文件,然後使用FileStream讀取其內容是一種可行的方法,但還有更有效率、更通用的方法。
ImageConverter類別
一個方便的方法是使用ImageConverter類別:
<code class="language-c#">public static byte[] ImageToByte(Image img) { ImageConverter converter = new ImageConverter(); return (byte[])converter.ConvertTo(img, typeof(byte[])); }</code>
此方法無需額外編碼即可輕鬆地將影像轉換為位元組數組。
記憶體流 (MemoryStream)
另一種方法是使用記憶體流:
<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>
此方法模擬了臨時檔案方法,但它不是將影像儲存到磁碟,而是將其儲存在記憶體中。這提供了靈活性,允許您根據需要選擇儲存到記憶體或磁碟。
以上是如何有效率地將 Windows 位圖轉換為位元組數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!