2014-10-01 104 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

相關問題