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

来源:互联网 发布:cms监控系统 编辑:程序博客网 时间:2024/06/05 00:49
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);

缩放图片


//重置matrixmatrix.reset();//缩放matrixmatrix.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
原创粉丝点击