ビットマップを販売して、各ステップで翻訳しようとしています。
次のコードを見ると、画像を描画し、変換してスケーリングし、同じ操作を逆に実行して元の構成に戻しています。しかし、操作を適用した後、元のスケーリングされた画像 (倍率 1) が得られますが、画像は別の位置に変換されます。
正しい方法を教えてください。(上記の例では、元の構成に到達するにはどうすればよいですか?)
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Matrix matrix = new Matrix();
scale = (float)screenWidth/201.0f;
matrix.setTranslate(-40, -40);
matrix.setScale(scale, scale);
canvas.drawBitmap(bitMap, matrix, paint);
//back to original
canvas.drawColor(0, Mode.CLEAR);
matrix.setScale(1.0f/scale, 1.0f/scale);
matrix.setTranslate(40,40);
canvas.drawBitmap(bitMap, matrix, paint);
}