如何将Windows屏幕坐标转换为屏幕截图像​​素坐标?

时间:2011-03-22 00:15:30

标签: windows winapi gdi

我需要找到屏幕截图的控件。我有它的屏幕坐标。如何将它们转换为屏幕截图上的坐标?

1 个答案:

答案 0 :(得分:2)

这完全取决于屏幕截图的大小和当前分辨率的大小。

假设屏幕截图为800x600,但您当前的屏幕分辨率为1280x720。为了找出800x600图像上的X,Y位置,您需要在1280x720屏幕上标准化X,Y的值。

normalized_x = (x * 800) / 1280;
normalized_y = (y * 600) / 720;

请注意,您要查找的对象在800x600图像上也较小。所以:

// w and h represents the size of the object at 1280x720
normalized_w = (w * 800) / 1280; 
normalized_w = (h * 600) / 720;