2015-10-12 42 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中我们使用这种组合的图像大小。