我有一个简单的字节字符串(矩阵的元素逐行读取)。我希望将它绘制在 c# 中的图像中。有什么简单的方法可以做到这一点。
在互联网上,我找到了字节数组到图像的转换,但我认为为此字节字符串应该具有某种格式,因为我没有看到任何宽度和高度的建立。
有什么建议么?
假设您的 bytes 字符串包含支持的像素格式之一的图像每个像素的颜色数据,您可以使用以下构造函数创建Bitmap
具有特定大小的颜色数据Bitmap(int width, int height
:
然后使用 将位图锁定到系统内存中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; }
}