我正在编写一个将屏幕映射像素转换为实际分辨率的程序。作为屏幕上的示例,坐标是从(0,0)[左上]到(1,1)[右下]。我的电脑显示器的分辨率为1600x900。所以我需要一种方法来映射(0,0)到(0X0)和(1,1)到(1600x900)以及介于两者之间的所有东西,例如(0.56,0.7)到它在分辨率中转化的内容。有谁知道这样做的方法?
答案 0 :(得分:2)
你只需要像这样缩放它们:
从实际到坐标:
x = x * actualmax / coordmax
所以在你的例子中,使用0.3坐标的y坐标
x = 0.333 * 900/1 = 300
从坐标到实际:
x = x * coordmax / actualmax
所以在你的例子中,使用300坐标
x = 300 * 1/900 = 0.333