最简单的方法是创建一个大小相等的位图,并对每个x,y值使用SetPixel。
您需要在矩阵中的值和图像中的颜色值之间进行某种转换。如果您的值在[0,255]中,则可以将值箝位。否则,最简单的方法就是在最小值和最大值之间使用线性插值:
var i = (byte)((matrixValue - matrixMinValue) * 255 / (matrixMinValue - matrixMinValue))
var color = Color.FromArgb(i,i,i);
myBitmap.SetPixel(x, y, color)
将位图设置为PictureBox.image
属性,您就可以开始工作了。
对于不经常设置的小图像,SetPixel应该足够了。如果您需要更高的性能,可以考虑使用指针来复制数据。