2011-07-13 91 views
0

我正在編寫一個程序,將屏幕映射像素轉換爲實際分辨率。作爲屏幕上的例子,座標是從(0,0)[左上]到(1,1)[右下]。我的電腦顯示器的分辨率爲1600x900。所以我需要一種方法來映射(0,0)到(0X0)和(1,1)到(1600x900)以及諸如(0.56,0.7)之間的所有內容,無論它轉換爲分辨率。有沒有人知道一種方法來做到這一點?Visual Basic編號映射

+0

VB.NET,VB6或VBA? – JohnFx

+0

我使用VB6這 –

回答

2

你只需要擴展他們是這樣的:

從實際去座標爲:

X = X * actualmax/coordmax

所以在你的例如,使用0.333的y座標

x = 0。 333 *1分之900= 300

從座標轉化爲實際:

X = X * coordmax/actualmax

所以在你的榜樣,用300的y座標

x = 300 * 1/900 = 0.333

+0

謝謝你的答案,我還有一個問題,如果最小值不是(0,0)?在實際中(0.14,0.15)到(1,1)如何改變方程? –

+0

@Mark,對不起,錯過了您的評論。嘗試newx = lowactualmin +(highcoordmax - lowcoordmin)/(highactualmax - lowactualmin)。 –