2010-11-17 3 views
2

У меня есть приложение, которое снимает изображение и отображает изображение на изображении. Проблема в том, что я могу только щелкнуть pic в ландшафтном режиме, чтобы bmp отображался с правой стороны вверх. Есть ли способ, которым я могу повернуть его в правую сторону, если снимок сделан в портретном режиме/Вращение bmp и отображение его вправо-вверх

Благодаря!

Вот код, я использую, чтобы разместить изображение в окне изображения -

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); 

Существует кнопку обнаружения лица, которые будут обнаруживать, если есть лица, присутствующие.

ответ

2

Это, как вы бы вращать 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); 
    } 
0

Вот код, который я использовал onActivityResult() в моей деятельности. Возвращаемое намерение состояло в том, чтобы выбрать изображение типа image/*. Хорошо работает для меня!

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); 

 Смежные вопросы

  • Нет связанных вопросов^_^