12

ビットマップが描かれたキャンバスを拡大縮小したいです。キャンバスを拡大縮小することはできますが、キャンバスに描かれたビットマップは左上にそれぞれ右下に移動します。

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

    //draw bitmap
}

ここ数日間、変換座標の操作からスケーリングのためのピボット ポイントまで、さまざまなアプローチを試しました。しかし、何もうまくいきませんでした。私の問題には簡単な解決策があるに違いないと確信しています。

前もって感謝します

4

2 に答える 2

17

あなたが言ったように、ピボットポイントはこれを行う正しい方法です:

canvas.scale(2,2, redCircle.x, redCircle.y);

動作します。追加の翻訳は必要ありません。

于 2012-08-07T22:07:37.570 に答える