2013-05-27 28 views
0

我有一个1280x720分辨率的Android智能手机屏幕,并且我有一个带OpenGL组件的Activity,屏幕上有一个矩形对象,此对象不会集中,位置边缘justando我得到了以下配置:左:。 0.19f顶部:0.05f,右:0.01f,波顿:0.05f。将opengl坐标转换为像素格式

但我不知道这些数字完全代表什么,我想知道是否有可能以像素知道这些边缘的确切值?

如果您需要任何其他信息,只是问,我不知道opengl,但我试图使用现有的代码,使用opengl。 enter image description here

回答

0

是的,这是可能的。这些是视口的矩形,表示为它父容器的分数或百分比(这应该是涵盖您提到的1280x720分辨率屏幕的活动)。因此,像素的数量可以计算为:

Left: (0.19 * 1280) = 243.2 px 
Top: (0.05 * 720) = 36 px 
Right: (0.01 * 1280) = 12.8 px 
Botton: (0.05 * 720) = 36 px 

请注意,右侧和底侧是来自屏幕右侧和底侧的像素。如果你想要它们的像素坐标,你将不得不从屏幕尺寸中减去它们。

Right: (1280 - 12.8) = 1267.2 px 
Botton: (720 - 36) = 684 px 

或者说,在一般情况下,

leftPixels = leftPercent * screenWidth; 
topPixels = topPercent * screenHeight; 
rightPixels = screenWidth - (rightPercent * screenWidth); 
bottomPixels = screenHeight - (bottomPercent * screenHeight); 
相关问题