如何反转绘制到画布中的图像?
我有以下内容:
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(),我做错了什么?