当前位置: 移动技术网 > IT编程>移动开发>Android > Android 图片缩放实例详解

Android 图片缩放实例详解

2019年07月24日  | 移动技术网IT编程  | 我要评论

李继耐最新消息,精英乒乓网,操向农

本文实现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 图片缩放的资料整理,后续继续补充相关知识,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网