Android 图片缩放实例详解
程序员文章站
2024-03-06 08:43:55
本文实现android中的图片的缩放效果
首先设计布局:
本文实现android中的图片的缩放效果
首先设计布局:
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".mainactivity" > <imageview android:id="@+id/iv_1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <imageview android:id="@+id/iv_2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </linearlayout>
逻辑代码如下:
public class mainactivity extends activity { private imageview iv1; private imageview iv2; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); iv1 = (imageview) findviewbyid(r.id.iv_1); iv2 = (imageview) findviewbyid(r.id.iv_2); // 设置第一个bitmap的图标 bitmap bitmap1 = bitmapfactory.decoderesource(getresources(), r.drawable.ic_launcher); iv1.setimagebitmap(bitmap1); // 新建一个bitmap bitmap alterbitmap = bitmap.createbitmap(bitmap1.getwidth(), bitmap1.getheight(), bitmap1.getconfig()); // 以alterbitmap为模板新建画布 canvas canvas = new canvas(alterbitmap); // 新建画笔并设置属性 paint paint = new paint(); paint.setcolor(color.black); //新建矩阵并设置缩放值 matrix matrix = new matrix(); matrix.setvalues(new float[] { 0.5f, 0, 0, 0, 1, 0, 0, 0, 1 }); //设置画布 canvas.drawbitmap(bitmap1, matrix, paint); iv2.setimagebitmap(alterbitmap); } }
如果你对矩阵的设置不清楚,还可以使用下列api提供的方法替换上面标记部分的代码:
matrix.setscale(0.5f, 1);
注意: 新建矩阵并设置缩放值
matrix matrix = new matrix();
matrix.setvalues(new float[] {
0.5f, 0, 0,
0, 1, 0,
0, 0, 1
});
最后运行项目效果如下:
以上就是对android 图片缩放的资料整理,后续继续补充相关知识,谢谢大家对本站的支持!