Expo Camera on iOS returns unexpected resolution

  1. SDK Version: 40
  2. Platforms(Android/iOS/web/all): iOS
  3. Expo Camera

When I take a picture with the expo-camera package using takePictureAsync() (with/without specifying the pictureSize parameter) on iOS, I get an image with resolution depending on the size of the <Camera> component, and not one of the available pictureSizes (via getAvailablePictureSizesAsync()):


This is the return object:


If I change the size of the component, the returned picture size and ratio changes as well (eg. to 3538x2376 or 4224x2198). I would expect it to return an image in one of the available picture sizes, at least in one of the available ratios (16:9 or 4:3).

How can make sure I get a high resolution image in one of the available picture sizes?

On Android, I don’t see this behaviour. I get an image of 4000x3000 there.

<Camera style={styles.camera}

const photo = await cameraRef.current.takePictureAsync({
  quality: 1.0, 
  pictureSize: '3840x2160' // with/without explicit picture size

Thanks in advance!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.