سؤال

لديّ تطبيق يستقر صورة ويعرض الصورة على ImageView. المشكلة هي أنه لا يمكنني سوى التقاط الموافقة المسبقة عن علم في وضع المناظر الطبيعية حتى يتم عرض BMP على الجانب الأيمن لأعلى - هل هناك طريقة يمكنني تدويرها إلى الجانب الأيمن لأعلى إذا تم التقاط الصورة في وضع الصورة/

شكرًا!

فيما يلي الرمز الذي أستخدمه لوضع الصورة في عرض IMG -

  private void processCameraImage(Intent intent) {
    setContentView(R.layout.detectlayout);
    ((Button) findViewById(R.id.detect_face)).setOnClickListener(btnClick);

    ImageView imageView = (ImageView) findViewById(R.id.image_view);

    cameraBitmap = (Bitmap) intent.getExtras().get("data");

    imageView.setImageBitmap(cameraBitmap);

يوجد زر اكتشاف وجوه يكتشف ما إذا كانت هناك وجوه موجودة.

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

المحلول

هذه هي الطريقة التي تدور بها BMP:

   private Bitmap rotateImage(Bitmap b, float angle)
   {
      //create a new empty bitmap to hold rotated image
       Bitmap returnBitmap = new Bitmap(b.Width, b.Height);
       //make a graphics object from the empty bitmap
       Graphics g = Graphics.FromImage(returnBitmap);
       //move rotation point to center of image
       g.TranslateTransform((float)b.Width/2,(float)b.Height / 2);
       //rotate
       g.RotateTransform(angle);
       //move image back
       g.TranslateTransform(-(float)b.Width/2,-(float)b.Height / 2);
    }

نصائح أخرى

فيما يلي الرمز الذي استخدمته 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