Android. 根据图片的资源ID获得图片的高度和宽度

文章标签: android
2015-3-20 18:59:45     人阅读    

下面是我的  activity的代码.

private ImageView mImageView;
private int resource;

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  resource = getIntent().getIntExtra("res", -1);

  Matrix initMatrix = new Matrix();

  mImageView = new ImageView(getApplicationContext());
  mImageView.setScaleType( ImageView.ScaleType.MATRIX );
  mImageView.setImageMatrix( initMatrix );
  mImageView.setBackgroundColor(0);
  mImageView.setImageResource(resource);
}

我创建一个  Matrix ,主要是为了以后的多点触摸,在  Matrix 的上面展示图片,当展示图片的时候我想让 Matrix 自动适应图片的高度和宽度,这样的话我需要图片的size,我现在知道图片的资源id,怎么样才能在android中获得图片的高度和宽度呢》


 

处理方法

通过 BitmapFactory.decodeResource 可以根据图片的资源id获得图片的信息, 然后可以通过 getHeight and getWidth获得图片的高度和宽度

下面是具体的代码

BitmapFactory.Options dimensions = new BitmapFactory.Options(); 
dimensions.inJustDecodeBounds = true;
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap, dimensions);
int height = dimensions.outHeight;
int width = dimensions.outWidth;

关于 BitmapFactory.decodeResource 的参数


        BitmapFactory.decodeResource(?,?)这个带两个参数的方法:第一个参数是包含你要加载的位图资源文件的对象(一般写成 getResources()就ok了);第二个时你需要加载的位图资源的Id。

BitmapFactory.decodeResource(?,?,?)带三个参数的方法:前两个和上面的方法一样。第三个参数应该是对你要加载的位图是否需要完整显示,如果你只需要部分,可以在这里定制。


原文地址:http://www.itmmd.com/201503/663.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android videoview播放网络视频和sd卡中的视频   上一篇
下一篇  如何实现android ListView-Items高亮 ?
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!