【发布时间】:2012-11-11 04:49:20
【问题描述】:
我正在尝试根据屏幕尺寸计算图像高度和宽度。我从后端获取 5'x 7' 尺寸的图像,为了转换像素乘以 72,我有 360 X 504 尺寸的图像。对于 360 X 504 ,我的动态透明矩形区域将出现在 (1.223') x (1.179') 处,即 88.05 x 84.88。现在对于屏幕尺寸 320 x 480,我想计算我的动态矩形区域的高度和宽度。为此,我使用以下计算:
身高:
新高度 = (84.88/504)*480 = 80.83
其中 84.88 - 矩形图像的高度,504 - 屏幕尺寸的高度,480 - 新屏幕尺寸的高度。
宽度也一样:
新宽度= (88.05/360)*320 = 78.26
当屏幕尺寸增加或减少时,这是计算图像尺寸的方法吗?我需要将动态图像准确地放置在主背景图像的矩形区域(棕色区域)上。
简而言之,我会得到图像 x,y position & height,width for 360X504.. 现在我需要计算 x,y & height,width for 320x480
【问题讨论】:
-
您想在保持纵横比的同时调整大小,请参见此处:stackoverflow.com/questions/1558461/…
-
对于 Android,我们需要关注密度因素。我的猜测是这个问题是由于没有考虑密度和所有..这个链接对我真的有用吗? @gordy
-
@Venky:你想要做什么,而 Android 不会自动为不同的屏幕尺寸和密度做些什么?我不完全理解你的问题。顺便说一句,5'x7' 是 5 英尺 x 7 英尺,如果你的意思是英寸,那么它应该是 5"x7"。
-
我想我可能遗漏了一些东西。你为什么要关心实际尺寸?为什么不能只使用像素?如果我正在解决这个问题,我会创建一个带有背景图像的自定义视图和一个 setImage() 方法来添加您下载的图像。在 omMeasure() 中,以像素为单位获取视图的大小,并计算要放置的图像的顶部和左侧,作为视图大小的百分比。我错过了什么?
-
@Squonk 你说得对,它是 5"..
标签: android dynamic image-processing