[英]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.