如何在React Native中优化图像并在最新iPhone型号上查看

时间:2019-04-03 16:42:35

标签: react-native react-native-image-picker

通过相机捕获的照片太大,无法在React native中有效地上传和下载。另外,在最新的iPhone型号(例如X,XS,XSMax和XR)中显示图像时,我也遇到了问题。

我正在使用npm软件包 react-native-image-picker 。虽然效果很好,但是我无法调整图像大小,这是我主要关心的问题!

预期结果:我应该能够调整图像大小并将其上传到服务器,并在所有手机中查看。

实际结果:我无法调整图像大小,也无法在iPhone X和其他最新iPhone机型上查看图像。

1 个答案:

答案 0 :(得分:0)

您可以使用expo-image-manipulator压缩图像。

如果使用expo,则它是预安装的,可以直接导入:

import { ImageManipulator } from 'expo';

const manipResult = await ImageManipulator.manipulateAsync(
    image,
    [],
    { compress: 0.5 }
);

否则,您必须将其安装为独立软件包并按以下方式使用:

import * as ImageManipulator from 'expo-image-manipulator';

const manipResult = await ImageManipulator.manipulateAsync(
    image,
    [],
    { compress: 0.5 }
);

compress必须为0.0-1.0范围内的值,指定结果图像的压缩级别。 1表示无压缩(最高质量),0表示最高压缩(最低质量)。

有关更多信息,请参见Image Manipulator docs