2015-10-12 37 views
0

我在可繪製文件夾(沒有其他可繪製hdpi文件夾等)中有一個圖像image.png如何計算加載圖像的大小

這張圖片的尺寸是50x50。但是,當我從我的應用程序加載它,像這樣: BitmapFactory.decodeResource(getResources(), R.drawable.image)

,然後我請與getWidth()getHeight()大小,我得到150x150

任何人都可以請解釋如何計算這個150x150加載大小? (不編程,我只是想知道,如果有我可以用來告訴圖像會被加載到150x150公式)

而且,這是150x150以像素爲單位?

謝謝!

+0

你能顯示你的代碼嗎? – Rajesh

+0

請參閱http://stackoverflow.com/questions/8198291/bitmap-getwidth-returns-wrong-value –

回答

1
  • 是,該值是在像素單元,利用Java文檔的我的朋友〜
  • 如果您想要的影像尺寸保持不變,把它變成drawable-nodpi
  • 如果你把圖像放在drawable,它和drawable-mdpi一樣,作爲第一款Android設備,T-Mobile G1的尺寸是正常的,而且是mdpi(中等)密度:)
  • 而且沒有魔法FO rmula:

    LDPI(低)〜120DPI
    MDPI(介質)〜160dpi
    HDPI(高)〜240dpi
    xhdpi(超高)〜320dpi
    xxhdpi(超超高) 〜480dpi
    xxxhdpi(特超超高壓)〜640dpi

    即,在你的情況下,xxhdpi設備上有可能發展,一百六十零分之四百八十* 50 = 150,記住機器人被設計成可視化al上所有相同大小的UI元素l屏幕,因此密度越高,縮放的圖像越大。

+0

參考:http://developer.android.com/guide/practices/screens_support.html#terms – Neil

0

如果你有Drawable形象,要計算加載圖像

Drawable d = getResources().getDrawable(R.drawable.image); 
int h = d.getIntrinsicHeight(); 
int w = d.getIntrinsicWidth(); 

Android文檔說的大小:

公衆詮釋getIntrinsicHeight()

返回底層可繪製對象的固有高度。返回 -1如果它沒有固有高度,例如純色。

公衆詮釋getIntrinsicWidth()

返回底層可繪製object.Returns -1的固有寬度,如果它沒有內在的寬度,如用純色。

0

在android studio中我們使用這種組合的圖像大小。