在matrix 中的一些函数 preScale,postScale,preTranslate,postTranslate 等的记录。
matrix.preScale(0.5f, 1); matrix.preTranslate(10, 0); matrix.postScale(0.7f, 1); matrix.postTranslate(15, 0);
我们在代码中实际调用的过程是
preSacle--->preTranslate--->postScale--->postTranslate所以,preTranslate是指在setScale前平移,postTranslate是指在setScale后平移(和调用的顺序无关)。
matrix.preScale(0.5f, 1); matrix.postTranslate(10, 0); matrix.setScale(1, 0.6f); matrix.postScale(0.7f, 1); matrix.preTranslate(15, 0);
同时, Canvas里scale, translate, rotate, concat方法都是pre方法,如果要进行更多的变换可以先从Canvas获得matrix, 变换后再设置回Canvas.,已达到我们想要的效果。