Scaling by -1.0 causes the image to be flipped. Assuming bmp
is the bitmap you want to mirror (here on the x axis) you can do :
Matrix matrix = new Matrix();
matrix.preScale(-1.0f, 1.0f);
Bitmap mirroredBitmap = Bitmap.createBitmap(bmp, 0, 0, bmp.width(), bmp.height(), matrix, false);
If you don't want to create a second bitmap, you can do the same with canvas.scale
:
canvas.save();
canvas.scale(-1.0f, 1.0f);
canvas.drawBitmap(bitmap, ...); // The bitmap is flipped
canvas.restore();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…