الحصول على الكاميرا دائمًا لإرجاع صورة تم التقاطها على الجانب الأيمن لأعلى؟

StackOverflow https://stackoverflow.com/questions/4211381

سؤال

تنسيق تطبيقي هو كل شيء في وضع الصورة. من الغريب أنه عندما أقسم صورة في وضع الصورة ، يتم عرضها على صورة ImageView الجانبية (كما تم قطعها في المناظر الطبيعية) ... الطريقة الوحيدة التي يتم عرضها على الجانب الأيمن هي إذا التقطت الموافقة المسبقة عن علم في وضع المناظر الطبيعية.

هل يعرف أي شخص حلًا بسيطًا يعرض جانب ركوب الصورة لأعلى ، بغض النظر عن اتجاه الكاميرا؟ يمكنني بسهولة تقديم الكود الخاص بي إذا احتاج أي شخص إلى إلقاء نظرة.

شكرًا!

هل كانت مفيدة؟

المحلول

فيما يلي الرمز الذي استخدمته onActivityResult () في نشاطي. كان القصد الذي تم إرجاعه لاختيار صورة من النوع/*. يعمل بشكل جيد بالنسبة لي!

Uri imageUri = intent.getData();
String[] orientationColumn = {MediaStore.Images.Media.ORIENTATION};
Cursor cur = managedQuery(imageUri, orientationColumn, null, null, null);
int orientation = -1;
if (cur != null && cur.moveToFirst()) {
    orientation = cur.getInt(cur.getColumnIndex(orientationColumn[0]));
}  
Matrix matrix = new Matrix();
matrix.postRotate(orientation);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top