2014-12-15 4 views
0

Изображение, сделанное в портретном режиме, будет сохранено в ландшафте. Но изображения, сделанные в ландшафтном режиме, сохраняются правильно.Сохранение изображения в неправильном направлении

private class SaveImageTask extends AsyncTask<byte[], Void, Void> { 
    @Override 
    protected Void doInBackground(byte[]... data) { 

     FileOutputStream outStream = null; 
     int rotate = 0; 
     try { 
      File sdCard = Environment.getExternalStorageDirectory(); 
      File dir = new File(sdCard.getAbsolutePath() + "/SELFie"); 
      dir.mkdirs(); 
      String fileName = String.format("%d.jpg", System.currentTimeMillis()); 

      // Before saving to the file rotate to portrait and save it in a right ratio. 

      File outFile = new File(dir, fileName); 
      Log.d("SaveImageTask","It is a OutPut media file"); 
      outStream = new FileOutputStream(String.valueOf(outFile)); 
      Log.d("SaveImageTask","OutStream"); 

      // writing data to the file 

      outStream.write(data[0]); 
      Log.d("SaveImageTask","writing the data to the outStream"); 
      outStream.flush(); 

      Log.d("SaveImageTask","OutStream.flush"); 
      outStream.close(); 

       Log.d("SaveImageTask","closing the outStream"); 
      Log.d(DEBUG_TAG, "onPictureTaken - wrote bytes: " + data.length + " to " +  outFile.getAbsolutePath()); 

      // Refreshing the gallery to save recently taken photos. 

      refreshGallery(outFile); 

      // After calling the refreshGallery method. 

     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 

     } catch (IOException e) { 
      e.printStackTrace(); 

     } finally { 
     } 
     return null; 

     // Finally returning the null. 
    } 
} 

ответ

3

Некоторые Android аппаратных камеры будут создавать портретные изображения в альбомном, с заголовком EXIF ​​в файле JPEG, указывающем, что зритель изображения должен повернуть изображение.

Некоторые аппаратные средства для камеры Android создают портретные изображения в виде портрета.

Нет ничего, что вы действительно могли бы сделать по этому поводу. Вы можете сканировать полученный JPEG для заголовка EXIF ​​и самостоятельно поворачивать изображение, но это медленное и интенсивное использование памяти.

+0

Благодарим за быстрый ответ. Я был бы более благодарен, если бы вы помогли мне повернуть изображение перед сохранением в галерее. Мне также нужно обрабатывать пропорции изображения перед сохранением в галерее. –

+0

Вот учебник по вращению http://eventuallyconsistent.net/2011/07/21/rotating-a-bitmap-in-android/ – cgew85

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