基于Android 实现图片平移、缩放、旋转同时进行

2019-12-10 19:53:20于海丽

易采站长站为您分析基于Android 实现图片平移、缩放、旋转同时进行的相关资料,需要的朋友可以参考下

前言

之前因为项目需求,其中使用到了图片的单击显示取消,图片平移缩放功能,昨天突然想再加上图片的旋转功能,在网上看了很多相关的例子,可是没看到能同时实现我想要的功能的。

需求:

(1)图片平移、缩放、旋转等一系列操作后,图片需要自动居中显示。

(2)图片旋转后选自动水平显示或者垂直显示

(3)图片在放大缩小的同时都能旋转

Demo实现部分效果截图

基于Android 实现图片平移、缩放、旋转同时进行

Demo主要代码

Java

 

 
  1. MainActivity.java  package com.practice.noyet.rotatezoomimageview; 
  2. import android.app.Activity;  import android.graphics.Bitmap; 
  3. import android.graphics.BitmapFactory;  import android.graphics.Matrix; 
  4. import android.graphics.PointF;  import android.graphics.RectF; 
  5. import android.os.AsyncTask;  import android.os.Bundle; 
  6. import android.util.DisplayMetrics;  import android.view.MotionEvent; 
  7. import android.view.View;  import android.widget.ImageView; 
  8. import com.ypy.eventbus.EventBus;  import java.io.File; 
  9. import java.math.BigDecimal;  /** 
  10. * package: com.practice.noyet.rotatezoomimageview  * Created by noyet on 2015/11/11. 
  11. */  public class MainActivity extends Activity implements View.OnTouchListener { 
  12. private ImageView mImageView;  private PointF point0 = new PointF(); 
  13. private PointF pointM = new PointF();  private final int NONE = 0; 
  14. /**  * 平移 
  15. */  private final int DRAG = 1; 
  16. /**  * 旋转、缩放 
  17. */  private final int ZOOM = 2; 
  18. /**  * 设定事件模式 
  19. */  private int mode = NONE;