ImageView加载图片资源并进行缩放

android应用中常常需要加载R.drawable下的图片资源到ImageView中显示出来。而且常常会遇到图片缩放的问题,缩放的关键是Matrix(矩阵方式)。加载资源图片以及缩放的语法是非常典型的一种写法,这里不妨把它记录下来:

加载图片
//显示图片的ImageView组件
ImageView imageView;
//初始的图片资源
Bitmap bitmap;
//图片的宽和高、当前缩放比、控制缩放的矩阵
int width, height;
Matrix matrix;
float curScale = 1;
		imageView = (ImageView) findViewById(R.id.image);
		matrix = new Matrix();
		//获取源图片
		bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.flower);
//或者可以这样获取(不是从R.drawable.xx下加载时)
Bitmap bitmap = BitmapFactory.decodeFile(String pathName));
		//获得位图宽和高
		width = bitmap.getWidth();
		height = bitmap.getHeight();
		//设置imageview初始化时显示的图片
		imageView.setImageBitmap(bitmap);

缩放图片


//重置matrix
		matrix.reset();
		//缩放matrix
		matrix.setScale(curScale, curScale, 160, 200);

//根据原始位图和Matrix创建新图片
		Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);

//显示新的位图
		imageView.setImageBitmap(bitmap2);


重点是获取源图片位图资源的语法:
bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.flower);

以及根据原始位图和缩放矩阵创造新图片的语法:
Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);

另外,获取ImageView组件内的BitmapDrawable:
BitmapDrawable tmp = (BitmapDrawable) imageView.getDrawable();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值