0

我想要图像实际场景中的像素位置(x,y 坐标)是

1)当将图像放入图片框时,它使用鼠标指针给了我一个正确的 x,y 像素坐标,它给了我正确的像素坐标。

2)当我重新调整图像大小并获取该图像的像素坐标时,它显示错误的像素坐标。

在谷歌上搜索时,一些人推荐我使用 Microsoft .net 的 Matrix 类,但不知道如何在图像调整大小时使用它来获取像素位置(x,y 坐标)的位置?

如果可能的话给我参考来源......

4

1 回答 1

0

使用矩阵是矫枉过正的。给定图像的原始大小和调整后的新尺寸,您应该能够做一些简单的数学运算来将调整后的图像中的像素转换为原始图像中的区域:

// Given origWidth, origHeight, newWidth, newHeight, clickX, and clickY variables...
var scaleX = (double)origWidth / newWidth;
var scaleY = (double)origHeight / newHeight;
var translatedRegion = new {
    X = clickX * scaleX,
    Y = clickY * scaleY,
    Width = scaleX,
    Height = scaleY
};

请注意,我不是转换为像素,而是转换为区域,因为一个像素可能不会转换为原始像素中的单个甚至整个像素。

于 2013-06-10T19:54:57.317 回答