[英]How can I store my matrix in a picture Box in C#?
我有一个 256x256 矩阵和矩阵的每个元素: myMatrix[i,j] // represents a pixel
如何将我的矩阵存储在 C# 的图片框中?
最简单的方法是创建一个大小相等的 bitmap 并对每个 x,y 值使用SetPixel 。
您将需要在矩阵中的值和图像中的颜色值之间进行某种转换。 如果您的值在 [0,255] 中,您可以钳制这些值。 否则,最简单的方法是在 min 和 max 之间使用线性插值:
var i = (byte)((matrixValue - matrixMinValue) * 255 / (matrixMinValue - matrixMinValue))
var color = Color.FromArgb(i,i,i);
myBitmap.SetPixel(x, y, color)
将 bitmap 设置为pictureBox.Image
属性,您应该对 go 很好。
对于不经常设置的小图像,SetPixel 应该足够了。 如果您需要更高的性能,您可以考虑使用指针来复制数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.