繁体   English   中英

如何将矩阵存储在 C# 的图片框中?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM