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();
分享到:
相关推荐
Android平台的图像控件,可以异步加载网络图片、项目资源和本地图片,并且支持双指缩放、图片的基本处理
Fresco-ImageView本身继承自DraweeView,所以可以直接把它当作DraweeView使用,除使用控件封装的加载方法外还可以通过Fresco原始的ImageRequest来加载图片。 ## 特性 * 直接继承Fresco的DraweeView,本质是View,...
当耗时间特别长时,注入进度条是个不错的效果,可以实现类似QQ和微信的那种加载图片效果。 我看了一下网上加载进度条的方式,几乎都是自定义继承imageView画进度,这样扩展性不好,比如有时候我要用到手势缩放。但...
android 中Gallery控件相当于一个图片浏览器,将图片资源加载进去便可以显示其效果
6.16 ImageView实现图片旋转和缩放 6.17 ImageView从网络上获取图像 6.18 DatePicker输入日期控件的使用 6.19 时间对话框的使用 6.20 ProgressBar进度条的使用 6.21 RatingBar评分控件的使用 6.22 ScrollView垂直...
支持的功能:支持视频预览支持Gif图预览支持大长图预览支持拖拽关闭支持自定义页面索引指标支持自定义资源加载进度条支持自定义图片加载器[目前已经有UniversalImageLoader / GlideImageLoader / PicassoImageLoader...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...
4.18 matrix实现图片缩放 4.19 bitmap和matrix图片旋转 4.20 加载手机存储卡中的文件 4.21 小结 第5章 交互式服务 5.1 textview的花样 5.2 拨打电话程序 5.3 短信发送程序 5.4 e-mail发送程序 5.5 实现手机震动效果 ...
Android瀑布流加载图片效果实例 Android中利用ViewPager实现视图切换 Android泡泡聊天界面的源码实现 android 实现EditText震动效果 Touch Index Bar (有锤子有真相) Android数据库最基础的一个例子(本人已测试...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...
4.22 加载手机磁盘里的图文件——使用decodeFile方法 4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...