Matrix,中文叫矩阵,主要用于平面的缩放、平移、旋转等操作
在android中,Matrix由9个float值构成,是一个3*3的矩阵,
cosX,-sinX,translateX
sinX, cosX,translateY
0, 0, scale。
在本项目中,实现主要实现了当前居中缩放的功能。
pre :M’ = M * T(dx, dy) ,右乘,先执行
post:M’ = S(sx, sy) * M,左乘,后执行
先通过preTranslate(0,0),将图片移动到原点,
再postScale放大或缩小,
最后通过postTranslate,设置放大,缩小后的偏移值。
为什么先移回原点,纯粹是为了好计算而已。
/**
* 按比例缩放
* @param scale 缩放比例
*/
private void zoom(float scale) {
if(null