2014-04-07 61 views
0

捕捉我的相機應用程序和打開的圖像通過Galerry: 我的代碼開放:如何通過圖庫打開圖像時如何旋轉圖像?

Intent intent = new Intent();       
intent.setAction(android.content.Intent.ACTION_VIEW); 
File file = new File(dt.FileName); 
intent.setDataAndType(Uri.fromFile(file), "image/*"); 
startActivity(intent); 

enter image description here

捕捉標準攝像機和開放形象的Galerry: enter image description here

我檢查原始圖像是一樣的。 圖像打開時圖像旋轉時的圖像是否與標準相機相同?

回答

0

使用此代碼來改變圖像的方向

  ExifInterface exif = new ExifInterface(filepath); 
      int exifOrientation = exif.getAttributeInt(
      ExifInterface.TAG_ORIENTATION, 
      ExifInterface.ORIENTATION_NORMAL); 

      int rotate = 0; 

      switch (exifOrientation) 
     { 
      case ExifInterface.ORIENTATION_ROTATE_90: 
      rotate = 90; 
      break; 

     case ExifInterface.ORIENTATION_ROTATE_180: 
     rotate = 180; 
     break; 

     case ExifInterface.ORIENTATION_ROTATE_270: 
     rotate = 270; 
     break; 
     } 

      if (rotate != 0) 
     { 
      int w = bitmap.getWidth(); 
      int h = bitmap.getHeight(); 


      Matrix mtx = new Matrix(); 
      mtx.preRotate(rotate); 

     bitmap = Bitmap.createBitmap(bitmap, 0, 0, w, h, mtx, false); 
     bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true); 
     } 
+0

必須保存爲其他文件? – mum

+0

如果使用Matrix,我只能在我的控件上設置,但我調用Android的android.content.Intent.ACTION_VIEW。 – mum

+0

您可以更改圖像的方向並存儲它,然後顯示該圖像。 – umerk44