I have a PNG file that I want to use for an overlay - however, this file has to be mirrored (and rotated by 180°), but in order to save space, I don't want to place the mirrored file in the apk, but do this action programmatically.
How can I do this with Froyo and above?
Upload the image that you want to flip vertically or horizontally. You can choose JPG, PNG, GIF, or a variety of other file formats. Select 'Mirror' or 'Rotate' to flip your image or video across the axis. Use the plus and minus buttons to adjust the angle of your flipped image precisely.
Flip an object Click the object that you want to rotate. Under Drawing Tools (or Picture Tools if you're rotating a picture), on the Format tab, in the Arrange group, click Rotate, and then: To turn an object upside-down, click Flip Vertical. To create a mirror image of the object, click Flip Horizontal.
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();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With