[英]Byte array to Image C#
我有一個簡單的字節串(矩陣的元素逐行讀取)。 我希望將其繪制在c#中的圖像中。 有沒有簡單的方法可以做到這一點。
在互聯網上,我發現了字節數組到圖像的轉換,但是我認為對此字節字符串應該具有某種格式,因為我沒有看到寬度和高度的任何確定。
有什么建議么?
假設你的字節字符串包含顏色數據上,以在支持的一個圖像的每個像素的像素格式 ,您可以創建一個Bitmap
使用此構造特定大小: Bitmap(int width, int height
。
然后使用Bitmap.LockBits(Rectangle, ImageLockMode, PixelFormat)
將位圖鎖定到系統內存中Bitmap.LockBits(Rectangle, ImageLockMode, PixelFormat)
並使用BitmapData.Scan0
獲得位圖中第一個像素數據的地址。
之后,您可以操作原始位圖數據。 例如,您可以使用Marshal.Copy(Byte[], Int32, IntPtr, Int32)
將字節復制到其中。
最后使用Bitmap.UnlockBits(BitmapData)
解鎖位圖。
瞧! 您已經從字節數組創建了位圖。
您是否嘗試過以下代碼:
public Bitmap ConvertBytesToImage(byte[] BytesToConvert)
{
MemoryStream ms = new MemoryStream(BytesToConvert);
try { return new Bitmap(ms); }
catch { return null; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.