我有两张图片,imageA = 800x600尺寸,另一张图片B = 1440x900。例如,如果我在50x50坐标处单击imageA,如何将imageB的值转换为正确的位置?
答案 0 :(得分:0)
newX = x * 1440 / 800;
newY = y * 900 / 600;
答案 1 :(得分:0)
首先计算差异比率(newX / oldX),然后乘以。简而言之,就是你的实际例子:
int newX = (50*1440)/800;
int newX = (50*900)/600);
请注意,由于实际原因,我已将计算切换为显式倍增,否则您必须在两者之间进行浮动以避免意外舍入。
答案 2 :(得分:0)
此代码将整数坐标视为像素的中心,它也适用于边缘。
x2 = round((x + 0.5) * 1440.0 / 800.0);
y2 = round((y + 0.5) * 900.0 / 600.0);
编辑:这假设(0,0)是你的角落而不是(1,1)。情况通常如此。