如何镜像图像文件?(2.2+)

For*_*rce 10 android image-manipulation image

我有一个PNG文件,我想用于覆盖 - 但是,这个文件必须被镜像(并旋转180°),但为了节省空间,我不想将镜像文件放在apk中,但以编程方式执行此操作.

我怎么能用Froyo及以上的方式做到这一点?

Dal*_*mas 18

按-1.0缩放会导致图像翻转.假设bmp您要镜像的位图(此处在x轴上),您可以执行以下操作:

Matrix matrix = new Matrix(); 
matrix.preScale(-1.0f, 1.0f); 
Bitmap mirroredBitmap = Bitmap.createBitmap(bmp, 0, 0, bmp.width(), bmp.height(), matrix, false);
Run Code Online (Sandbox Code Playgroud)

如果您不想创建第二个位图,则可以执行以下操作canvas.scale:

canvas.save();
canvas.scale(-1.0f, 1.0f);
canvas.drawBitmap(bitmap, ...); // The bitmap is flipped
canvas.restore();
Run Code Online (Sandbox Code Playgroud)


Gal*_*Rom 7

你可以简单地使用View.setScaleX()

例如

 public void mirrorView(View v){
    v.setScaleX(-1.0f);
}
Run Code Online (Sandbox Code Playgroud)