2011-01-23 28 views
19

मैं ImageView.setImageMatrix (मैट्रिक्स) का उपयोग करके एक छवि को घुमाने के लिए चाहता हूं लेकिन इसका कोई प्रभाव नहीं पड़ता है। मैं matrix.postRotate (45, 20, 20) को कॉल करता हूं; उपर्युक्त समारोह में इसे पार करने से पहले लेकिन कोई प्रभाव नहीं, छवि घूर्णन नहीं है। क्यूं कर?ImageView.setImageMatrix() क्यों काम नहीं करता है?

matrix.postRotate(45, 20, 20); 
ImageView.setImageMatrix(matrix) 

उत्तर

58

मैं सच में यकीन नहीं है, लेकिन मुझे लगता है कि आप पैमाने प्रकार सेट करना चाहिए:

imgView.setScaleType(ScaleType.MATRIX); 

android:scaleType="matrix" साथ एक्सएमएल में है कि तुम भी कर सकते हैं।

+0

@ एमआर। रोलैंड: ओह अच्छा। मुझे यकीन नहीं था क्योंकि हाल ही में मैंने ImageView स्रोत को देखा और पाया कि 'mmatrix' (छवि मैट्रिक्स) अन्य तरीकों से भी पढ़ा जाता है, लेकिन मैंने फिर से देखा और वास्तव में इसे' Matrix.set *() ' तरीकों की श्रृंखला। – bigstones

+5

यह मेरे लिए काम नहीं करता है। मेरा कोड 'मैट्रिक्स मैट्रिक्स = नया मैट्रिक्स(); \t matrix.postRotate (9 0); \t \t my_img.setScaleType (ScaleType.MATRIX); \t my_img.setImageMatrix (मैट्रिक्स); 'और कुछ भी नहीं होता! – thomaus

+1

आपको 'matrix.postRotate (90, imageWidth/2, imageHeigth/2) का उपयोग करने की आवश्यकता है; ' –

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