缩放画布并保持中心

dan*_*l m 9 android canvas

我想缩放画布上绘制的位图.我能够缩放画布,但在其上绘制的位图分别向左下方移动.

@Override
protected void onDraw(Canvas canvas) {
    canvas.translate(mPosX, mPosY);
    canvas.scale(mScaleFactor, mScaleFactor);

    //draw bitmap
}
Run Code Online (Sandbox Code Playgroud)

在过去的几天里,我尝试了许多不同的方法,从操纵平移坐标到枢轴点进行缩放.但没有什么对我有用.我很确定我的问题必须有一个简单的解决方案.

提前致谢

you*_*786 15

就像你提到的那样,支点是正确的方法:

canvas.scale(2,2, redCircle.x, redCircle.y);
Run Code Online (Sandbox Code Playgroud)

将工作.无需额外翻译.