Android实现对图片放大、平移和旋转的功能实现对图片放大、平移和旋转的功能
现在很多App在查看一张图片的原图时,都会支持图片的手势缩放,手势平移以及图片旋转的操作。那么今天小
编就来教大家去简单的实现图片的放大、平移、旋转的操作,有需要的可以参考借鉴。
先来看看要实现的效果图先来看看要实现的效果图
在讲解中,需要大家提前了解一些关于图片绘制的原理的相关知识。
关于实现的流程关于实现的流程
1、自定义View
2、获得操作图片的Bitmap
3、复写View的onTouchEvent()方法中的ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_POINTER_UP以
及ACTION_UP事件。
4、定义相应图片变化的Matrix矩阵,通过手势操作的变化来设置相应的Matrix。
5、完成最终的Matrix设置时,通过invalidate()方法重新绘制页面。
那么接下来我们根据以上流程一步一步实现代码。
代码演示代码演示
/**
* 作者:ZhouYou
* 日期:2016/8/23.
*/
public class TouchImageView extends View {
// 绘制图片的边框
private Paint paintEdge;
// 绘制图片的矩阵
private Matrix matrix = new Matrix();
// 手指按下时图片的矩阵
private Matrix downMatrix = new Matrix();
// 手指移动时图片的矩阵
private Matrix moveMatrix = new Matrix();
// 资源图片的位图
private Bitmap srcImage;
// 多点触屏时的中心点
private PointF midPoint = new PointF();
// 触控模式