昨天还担心自己写不了第二篇, 今天就继续学习了 .
昨天学习了 set 系 pre/post 系函数, 再剩下一类就是 map 系函数.
Matrix 矩阵的作用是对图像进行变换, Matrix.map 的作用就是用这个矩阵来对点, 向量, 矩形等图形施加变换.
这一系列方法包含以下:
每个方法都包含两种赋值形式:
最后再看看还剩下哪些方法没有看到.
返回值是固定的:
return 44;
重度使用的时候小心这里有坑.
boolean setRectToRect(RectF src, RectF dst, ScaleToFit stf)
举个 例子 来说明吧:
Matrix m = imageView.getImageMatrix(); RectF drawableRect = new RectF(0, 0, imageWidth, imageHeight); RectF viewRect = new RectF(0, 0, imageView.getWidth(), imageView.getHeight()); m.setRectToRect(drawableRect, viewRect, Matrix.ScaleToFit.CENTER); imageView.setImageMatrix(m);
在上面的代码中, 有一个 ImageView 叫 imageView. 还有一个图, 它的宽度和高度分别是 imageWidth 和 imageHeight, 图已经设置到 ImageView 中显示.
这个跟上面这个在方法名上是相似的.
找到两篇讲解这个方法的文章:
看来在实现中的那些酷炫的折叠效果都是主要通过这个方法来实现的.
求矩阵的逆矩阵. 如果矩阵不可逆则返回 false.