Skip to content

Commit

Permalink
Fix openCamera reported dimensions for portrait photos on Android (#2110
Browse files Browse the repository at this point in the history
)
  • Loading branch information
gaearon authored Nov 26, 2024
1 parent 0e208a6 commit 174f609
Showing 1 changed file with 12 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import androidx.core.app.ActivityCompat;
import androidx.core.content.FileProvider;
import androidx.exifinterface.media.ExifInterface;

import com.facebook.react.bridge.ActivityEventListener;
import com.facebook.react.bridge.Callback;
Expand Down Expand Up @@ -678,6 +679,15 @@ private WritableMap getImage(final Activity activity, String path) throws Except
throw new Exception("Cannot select remote files");
}
BitmapFactory.Options original = validateImage(path);
ExifInterface originalExif = new ExifInterface(path);
int orientation = originalExif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1);
boolean invertDimensions = (
orientation == ExifInterface.ORIENTATION_ROTATE_90 ||
orientation == ExifInterface.ORIENTATION_ROTATE_270 ||
orientation == ExifInterface.ORIENTATION_TRANSPOSE ||
orientation == ExifInterface.ORIENTATION_TRANSVERSE
);


// if compression options are provided image will be compressed. If none options is provided,
// then original image will be returned
Expand All @@ -687,8 +697,8 @@ private WritableMap getImage(final Activity activity, String path) throws Except
long modificationDate = new File(path).lastModified();

image.putString("path", "file://" + compressedImagePath);
image.putInt("width", options.outWidth);
image.putInt("height", options.outHeight);
image.putInt("width", invertDimensions ? options.outHeight : options.outWidth);
image.putInt("height", invertDimensions ? options.outWidth : options.outHeight);
image.putString("mime", options.outMimeType);
image.putInt("size", (int) new File(compressedImagePath).length());
image.putString("modificationDate", String.valueOf(modificationDate));
Expand Down

0 comments on commit 174f609

Please sign in to comment.