मेरे पास कैमरे से बिटमैप है, आकार बदलने के बाद, यह क्षैतिज में बदल जाता है, मुझे 90 डिग्री घुमाने की जरूरत है, लेकिन अधिकांश नमूना घुमाने के लिए मैट्रिक्स का उपयोग कर रहे हैं, लेकिन जब मैं नया मैट्रिक्स, यह कहा कि मैट्रिक्स को हटा दिया गया है, मैं कैनवास का उपयोग करने की कोशिश करता हूं, निम्नलिखित इस , इसका उपयोग करने के लिए पहली बार, इसे समझने की कोशिश कर रहा है, लेकिन इसे घुमा नहीं सकता है, ऐप क्रैश, कृपया मदद करें
कोड
resizePhoto = BitmapFactory.decodeFile(imageLocation,bmOption);
// R o t a t e B i t m a p 90 degree
Canvas canvas = new Canvas(resizePhoto);
canvas.rotate(90);
canvas.drawBitmap(resizePhoto , null ,null);
उत्तर:
उत्तर № 1 के लिए 1Matrix matrix = new Matrix();
matrix.setRotate(angle, imageCenterX, imageCenterY);
yourCanvas.drawBitmap(yourBitmap, matrix, null);
जवाब के लिए 0 № 2
आप Bitmap.createBitmap में पारित मैट्रिक्स का उपयोग करके घुमा सकते हैं। यह कैनवास का उपयोग करने से तेज होना चाहिए।
Matrix matrix = new Matrix();
matrix.setRotate(angle);
Bitmap resizePhoto = BitmapFactory.decodeFile(imageLocation, bmOption);
Bitmap rotatedPhoto = Bitmap.createBitmap(resizePhoto, 0, 0,
resizePhoto.getWidth(), resizePhoto.getHeight(), matrix, true);
resizePhoto.recycle();
आपको स्वैप करने की आवश्यकता हो सकती है getWidth()
तथा getHeight()
एक सटीक 90 डिग्री रोटेशन के लिए चारों ओर। मैं भूल गया।