我有一个1280x720分辨率的Android智能手机屏幕,我有一个OpenGL组件的活动,屏幕上有一个矩形对象,这个对象不会集中,边缘的位置正好我得到了以下内容配置:左: 0.19f上:0.05 f,右:0.01 f,Botton:0.05 f。
但我不知道这些数字究竟代表什么,我想知道是否有可能知道这些边距的确切值(以像素为单位)?
如果您需要任何其他信息,请问,我不知道opengl,但我正在尝试使用使用opengl的现有代码。
答案 0 :(得分:0)
是的,有可能。这些是Viewport的矩形,表示为其父容器的分数或百分比(应该是您提到的1280x720分辨率屏幕的活动)。因此,像素数可以计算为:
Left: (0.19 * 1280) = 243.2 px
Top: (0.05 * 720) = 36 px
Right: (0.01 * 1280) = 12.8 px
Bottom: (0.05 * 720) = 36 px
请注意,右侧和底侧是屏幕右侧和底侧的像素。如果你想要它们的像素坐标,你必须从屏幕尺寸中减去它们。
Right: (1280 - 12.8) = 1267.2 px
Bottom: (720 - 36) = 684 px
或者,一般来说,
leftPixels = leftPercent * screenWidth;
topPixels = topPercent * screenHeight;
rightPixels = screenWidth - (rightPercent * screenWidth);
bottomPixels = screenHeight - (bottomPercent * screenHeight);