الحصول على الكاميرا دائمًا لإرجاع صورة تم التقاطها على الجانب الأيمن لأعلى؟
-
25-09-2019 - |
سؤال
تنسيق تطبيقي هو كل شيء في وضع الصورة. من الغريب أنه عندما أقسم صورة في وضع الصورة ، يتم عرضها على صورة 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);
لا تنتمي إلى StackOverflow