开发中遇到一些涉及到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调用顺序.
比如有时候困惑为什么pre或者post没有起到作用,看到这个就应该可以理解了
这里也使用到了Matrix
以后会陆续补充归纳.