2011-12-18 12 views
9

मेरे पास एक पीएनजी फ़ाइल है जिसे मैं ओवरले के लिए उपयोग करना चाहता हूं - हालांकि, इस फ़ाइल को प्रतिबिंबित किया जाना चाहिए (और 180 डिग्री से घूर्णन), लेकिन अंतरिक्ष को बचाने के लिए, मैं जगह नहीं रखना चाहता एपीके में प्रतिबिंबित फ़ाइल, लेकिन प्रोग्रामिंग के रूप में यह क्रिया करें।छवि फ़ाइल को मिरर कैसे करें? (2.2+)

मैं इसे फियोयो और ऊपर के साथ कैसे कर सकता हूं?

उत्तर

17

-1.0 द्वारा स्केलिंग छवि को फ़्लिप करने का कारण बनता है। मान लिया जाये कि bmp है बिटमैप आप (एक्स अक्ष पर यहाँ) दर्पण करना चाहते हैं आप कर सकते हैं:

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

यह वास्तव में सबसे अच्छा विकल्प है –

संबंधित मुद्दे