且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android中Matrix开发汇总

更新时间:2022-08-18 14:41:13

开发中遇到一些涉及到Matrix的地方,现在此归纳,便于日后查阅。


通过对ImageView设置Matrix来实现ImageView中图片的单指拖动和两指缩放

核心方法:
imageView.setImageMatrix(matrix);
所以我们的重点在于去操作一个Matrix.
该处主要用到的是利用Matrix实现缩放(Scale)和位移(Translate)


Android图片旋转,缩放,位移,倾斜,对称完整示例(一)——imageView.setImageMatrix(matrix)和Matrix

这里没有什么新意核心方法仍然是imageView.setImageMatrix(matrix);

还是主要去操作了一个Matrix.然后将此修改过的Matrix设置给ImageView.

在这里是一个自定义的ImageView继承自系统的ImageView.

所以每次在给该自定义ImageView调用setImageMatrix(matrix);方法时它都会调用onDraw()方法


Android图片旋转,缩放,位移,倾斜,对称完整示例(二)——Bitmap.createBitmap()和Matrix

在该例子中主要利用Bitmap.createBitmap(...matrix...)和Matrix实现图像的旋转,缩放,位移,倾斜.

该方式的作用和mImageView.setImageMatrix(matrix);是一样的

所以:

对于图片的旋转,缩放,位移,倾斜以及对称都是利用Matrix实现的!只是说作用的对象不同.

(1)利用imageView.setImageMatrix(matrix)作用于ImageView.

   因为ImageView展示了图片,所以Matrix的效果可在图片体现

(2)利用Bitmap.createBitmap(...matrix...)直接作用于新生成的Bitmap


Matrix的set,pre,post调用顺序

这里主要是理解Matrix的set,pre,post调用顺序.

比如有时候困惑为什么pre或者post没有起到作用,看到这个就应该可以理解了


生成Bitmap的倒影

这里也使用到了Matrix


以后会陆续补充归纳.