मैं एक लैंडमैप छवि 90 डिग्री को एक लैंडस्केप स्वरूप से एक पोर्ट्रेट प्रारूप में बदलने के लिए घुमाने की कोशिश कर रहा हूं। उदाहरण:एंड्रॉइड स्क्वैश छवि में बिटमैप 90 डिग्री परिणाम घुमाएं। चित्र और परिदृश्य के बीच एक सच्चे घुमाव की आवश्यकता है
[क, ख, ग, घ]
[ई, एफ, जी, एच]
[i, j, k, l]
घुमाया 90 डिग्री दक्षिणावर्त
हो जाता है [मैं, ई, एक]
[j, एफ, ख]
[k, जी, सी]
[एल, एच, डी]
(एक ऑनलाइन उदाहरण से) नीचे दिए गए कोड का उपयोग कर छवि 90 डिग्री घुमाया गया है लेकिन टी को बरकरार रखता है वह परिदृश्य पहलू अनुपात है ताकि आप एक लंबवत squashed छवि के साथ खत्म हो। क्या मुझसे कुछ गलत हो रही है? क्या मुझे कोई और तरीका उपयोग करने की ज़रूरत है? मैं jpeg फ़ाइल को घुमाने के लिए भी तैयार हूं जिसे मैं बिटमैप बनाने के लिए उपयोग कर रहा हूं यदि यह आसान है।
Matrix matrix = new Matrix();
matrix.postRotate(90);
rotated = Bitmap.createBitmap(original, 0, 0,
original.getWidth(), original.getHeight(),
matrix, true);
अपने कोड में:
// create a matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// rotate the Bitmap
matrix.postRotate(90);
// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOriginal, 0, 0, widthOriginal, heightOriginal, matrix, true);
सुनिश्चित नहीं है कि मैं आपके प्रश्न को सही तरीके से समझता हूं। क्या अभिविन्यास बदलते समय आप स्क्रीन लेआउट को घुमाने के लिए चाहते हैं? या क्या आप स्क्रीन लेआउट को बदलना चाहते हैं भले ही अभिविन्यास नहीं बदले? (जब अभिविन्यास बदलता है तो एंड्रॉइड स्वचालित रूप से स्क्रीन तत्वों को घुमाता है!) – Ahmed
इसलिए मैं बिटमैप डेटा को स्वयं बदलना चाहता हूं। मेरे ऐप में कैमरा तस्वीर को अनुचित रूप से संग्रहीत कर रहा है ताकि अगर "चित्र" अभिविन्यास में कोई चित्र लिया गया हो, फिर भी इसे "परिदृश्य" अभिविन्यास में लोड किया जाता है। मैं फ़ाइल के EXIF डेटा के माध्यम से सही अभिविन्यास का पता लगाने में सक्षम हूं और मैं बिटमैप को उचित अभिविन्यास पर घुमाने के लिए चाहता हूं। मैं बस बदलना नहीं चाहता कि बिटमैप कैसे प्रदर्शित होता है लेकिन वास्तविक डेटा को बदलता है ताकि छवि को संशोधित करने के बाद इसे ठीक से बचाया जा सके। – user999764