1

我有一个简单的字节字符串(矩阵的元素逐行读取)。我希望将它绘制在 c# 中的图像中。有什么简单的方法可以做到这一点。

在互联网上,我找到了字节数组到图像的转换,但我认为为此字节字符串应该具有某种格式,因为我没有看到任何宽度和高度的建立。

有什么建议么?

4

2 回答 2

0

假设您的 bytes 字符串包含支持的像素格式之一的图像每个像素的颜色数据,您可以使用以下构造函数创建Bitmap具有特定大小的颜色数据Bitmap(int width, int height

然后使用 将位图锁定到系统内存中Bitmap.LockBits(Rectangle, ImageLockMode, PixelFormat),并使用 获取位图中第一个像素数据的地址BitmapData.Scan0

之后,您可以操作原始位图数据。例如,您可以使用例如Marshal.Copy(Byte[], Int32, IntPtr, Int32).

最后用 . 解锁位图Bitmap.UnlockBits(BitmapData)

瞧!您已经从字节数组创建了位图。

于 2013-07-05T16:20:29.623 回答
-2

您是否尝试过以下代码:

public Bitmap ConvertBytesToImage(byte[] BytesToConvert)
{
    MemoryStream ms = new MemoryStream(BytesToConvert);
    try { return new Bitmap(ms); }
    catch { return null; }
}
于 2013-07-05T15:52:10.117 回答