2011-12-18 22 views
9

Bindirme için kullanmak istediğim bir PNG dosyasına sahibim - ancak bu dosya yansıtılmalı (ve 180 ° döndürülerek), ancak yer kazanmak için yerleştirmek istemiyorum. apk'deki yansıtılmış dosya, ancak bu eylemi programlı olarak yapın.Görüntü dosyası nasıl yansıtılır? (2.2+)

Bunu Froyo ve üstü ile nasıl yapabilirim?

cevap

17

-1.0 ile ölçeklendirme, görüntünün çevrilmesine neden olur. Eğer (x ekseni üzerinde burada) yansıtmak istediğiniz bitmap yapabileceğiniz bmp varsayarak: İkinci bir bitmap oluşturmak istemiyorsanız

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

, sen canvas.scale ile aynı yapabilirsiniz:

Eğer ImageView kullanırsanız
canvas.save(); 
canvas.scale(-1.0f, 1.0f); 
canvas.drawBitmap(bitmap, ...); // The bitmap is flipped 
canvas.restore(); 
6

Eğer setScaleX kullanabilirsiniz:

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

gerçekten en iyi seçenek –

İlgili konular