我有一个 ushort 列表pixels16
,其中包含来自 16 位灰度图像的像素数据。然后,我有一个显示图像的图片框和一个功能,用户可以在其中单击图片框中的任何位置,系统将返回该位置的像素值(见下面的代码)
这是返回给定位置的像素值的代码:在我看来,我正在显示用户在图像中某个位置单击的确切像素的值,对吗?
我的逻辑是,如果图像是 512x512,那么我可以先Y
找到位置,然后通过X
并获取该点的像素值,如下所示:int pixelposition = (512 * (y-1)) + x;
我在正确的方向吗?
for (int y = 0; y < picbox_mpr.Width; y++)
{
if (e.Y == y)
{
for (int x = 0; x < picbox_mpr.Height; x++)
{
if (e.X == x)
{
int pixelposition = (512 * (y-1)) + x;
string a= pixels16[pixelposition].ToString();
MessageBox.Show(a);
}
}
}
}