2011-12-18 74 views
9

我有一個PNG文件,我想用於覆蓋 - 但是,這個文件必須被鏡像(並旋轉180°),但爲了節省空間,我不想放置apk中的鏡像文件,但以編程方式執行此操作。如何鏡像圖像文件? (2.2+)

我如何用Froyo和以上版本來做到這一點?

回答

17

通過-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); 

如果你不想創建第二位圖,你可以做同樣的canvas.scale

canvas.save(); 
canvas.scale(-1.0f, 1.0f); 
canvas.drawBitmap(bitmap, ...); // The bitmap is flipped 
canvas.restore(); 
6

,如果你使用的ImageView您可以使用setScaleX:

public void mirroredBubble() 
{ 
    bubble_rl.setScaleX(-1.0f); 
} 
+0

這真是最好的選擇 – 2016-08-04 20:27:13