2014-10-01 50 views
0

我从需要调整大小以适应不同屏幕类型的API中获取大图像。使用屏幕密度调整互联网图像大小的好方法?

是否通过将MDPI分辨率与屏幕密度相乘来调整它们的大小?

我已经实现了这种方法并对其进行了测试,并且到目前为止它的工作原理。我想知道这是否可以应用于整个项目。

所以,如果MDPI尺寸为100像素,看起来OK上MDPI的屏幕,我会用MDPI_SIZE * getScreenDensity()其中后一种方法看起来像

public static float getScreenDensity(Context context) { 
    DisplayMetrics metrics = context.getResources().getDisplayMetrics(); 
    return metrics.density; 
} 

于是就XHDPI图像尺寸是200dp,在XXHDPI调整为其他类型的图像300dp等,当然,以编程方式设置。

回答

1

是,我使用非常类似这样的东西(但SVG图形,这是矢量)。
当然,您的图片需要有很好的mdpi分辨率才能用这个系统进行缩放。

但是!你更好地规模向下,为更好的质量结果。
或者mdpi中的1 * 1像素将被缩放为xxhdpi中的3 * 3像素。

因此,您最好下载适合xxhdpi屏幕的图像,然后将其缩小。
而你的规模因素将是0.667为xhdpi,0.5为华电国际,0.333适用于mdpi,0.25为LDPI。

+1

是的,我缩小了。否则,XXHDPI的结果将会很糟糕。谢谢 – sandalone 2014-10-01 11:45:44

+0

因此,对于xhdpi,您的比例因子将为** 0.667 **,对于hdpi为** 0.5 **,对于mdpi为** 0.333 **,对于ldpi为** 0.25 **。 – 2014-10-01 11:49:59

+1

明白了。该逻辑仅用于确定大小。因此,每次对于特定分辨率,1024x0124px的大图像都会缩小尺寸。 – sandalone 2014-10-01 11:51:32

相关问题