キャンバスに描画された画像を反転するにはどうすればよいですか?
私は次のものを持っています:
canvas.save();
canvas.drawBitmap(image.current(), null, currentBounds(), Paints.BLANK);
canvas.restore();
現在の画像をx軸上でcurrentBounds()に反転させて描画するにはどうすればよいですか?
Matrixの使用法を示すいくつかの回答をすでに見つけましたが、もっと簡単な方法があるかどうか知りたくありませんか?いくつかのフラグがオンになっているそのようなペイント。
編集:
以下は、マトリックス変換を使った私の試みです。
Rect currentBounds = currentBounds();
currentBounds.offset((int)offset.x(), (int)offset.y());
float scale = image.current().getWidth() / currentBounds.width();
Matrix matrix = new Matrix();
matrix.setScale(- scale - 1, scale + 1);
matrix.postTranslate(currentBounds.left, currentBounds.top);
canvas.drawBitmap(image.current(), matrix, Paints.BLANK);
canvas.drawRect(currentBounds, Paints.STROKE_BLUE);
この抽選の結果は次のとおりです。
https://dl.dropbox.com/u/28683814/game.png
ご覧のとおり、スプライトは0,0から左に描画されており、currentBounds()が完全に完了していません。何が間違っているのでしょうか?