Вы можете использовать expo-image-манипулятор для сжатия изображений.
Если вы используете 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