2011-12-18 7 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); 

2番目のビットマップを作成したくない場合は、あなたが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

を –