这些方法的使用实际上会发生什么,文档并没有很清楚地说明。有人可以解释一下Matrix如何影响设置为其的位图吗?他们在其中使用了连接术语,但我不清楚该术语如何应用于坐标数据(之前只在字符串操作中使用过)。
这些方法的使用实际上会发生什么,文档并没有很清楚地说明。有人可以解释一下Matrix如何影响设置为其的位图吗?他们在其中使用了连接术语,但我不清楚该术语如何应用于坐标数据(之前只在字符串操作中使用过)。
set 方法将用新值替换当前矩阵,忽略之前矩阵中包含的内容; pre 和 post 方法将在当前矩阵内容之前或之后应用新变换。
在此示例中,由于使用了 set 方法,因此旋转将被忽略,m 仅包含一个平移:
Matrix m = new Matrix();
m.setRotate(90);
m.setTranslate(100, 100);
在此示例中,最终矩阵将是一次平移后跟随一次旋转:
Matrix m = new Matrix();
m.setTranslate(100, 100);
m.postRotate(90);
在最后一个示例中,最终矩阵将是一次旋转后跟随一次平移:
Matrix m = new Matrix();
m.setTranslate(100, 100);
m.preRotate(90);
此(相当冗长的)文章中还有更多信息:
https://medium.com/a-problem-like-maria/understanding-android-matrix-transformations-25e028f56dc7
希望对您有帮助。