/**
* 对图片按照一些手势信息进行缩放
*
* @param scaleCenter mScaleCenter
* @param scaleBase mScaleBase
* @param distance 手指两点之间距离
* @param lineCenter 手指两点之间中点
*
* @see #mScaleCenter
* @see #mScaleBase
*/
private void scaleAndRotate(PointF scaleCenter, float scaleBase, float distance, PointF lineCenter,float degree) {
if (!isReady()) {
return;
}
//计算图片从fit center状态到目标状态的缩放比例
float scale = scaleBase * distance;
Matrix matrix = MathUtils.matrixTake();
//按照图片缩放中心缩放,并且让缩放中心在缩放点中点上
matrix.postScale(scale, scale, scaleCenter.x, scaleCenter.y);
//按照图片缩放中心旋转,并且让缩放中心在缩放点中点上
matrix.postRotate(degree,scaleCenter.x,scaleCenter.y);
//让图片的缩放中点跟随手指缩放中点
matrix.postTranslate(lineCenter.x - scaleCenter.x, lineCenter.y - scaleCenter.y);
//应用变换
mOuterMatrix.set(matrix);
MathUtils.matrixGiven(matrix);
dispatchOuterMatrixChanged();
//重绘
invalidate();
}
PinchImageView.java 文件源码
java
阅读 40
收藏 0
点赞 0
评论 0
项目:SweepRobot
作者:
评论列表
文章目录