如果你有byte[]
像素,宽度和高度,那么你可以使用BitmapData
将字节写入位图,因为你也知道格式。这是一个例子:
//Your actual bytes
byte[] bytes = {255, 0, 0, 0, 0, 255};
var width = 2;
var height = 1;
//Make sure to clean up resources
var bitmap = new Bitmap(width, height);
var data = bitmap.LockBits(new Rectangle(Point.Empty, bitmap.Size), ImageLockMode.WriteOnly, PixelFormat.Format24bppRgb);
Marshal.Copy(bytes, 0, data.Scan0, bytes.Length);
bitmap.UnlockBits(data);
这是一个非常快速的操作。
您至少需要在 C# 文件的顶部导入这三个命名空间:
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;