Expo React Native: плохое качество изображения при сохранении изображения из удаленного uri на фотопленку

#react-native #expo

#react-native #expo

Вопрос:

В Expo на iOS я использую следующий код для загрузки изображения из удаленного uri в файловую систему, а затем создаю ресурс для сохранения его на фотопленке телефона пользователя:

 const { uri: path } = await FileSystem.downloadAsync(
    remoteUrl,
    FileSystem.documentDirectory   "test.jpg"
);

const asset = await MediaLibrary.createAssetAsync(path);

  

При использовании локального uri с компонентом изображения качество изображения отличное. Но когда я смотрю на изображение на фотопленке, изображение размыто, а качество намного ниже того, что я вижу из файла.

Я проверил размер изображения, сохраненного локально, по сравнению с файлом, сохраненным удаленно, и они одинаковы (около 1,1 МБ).

Я чего-то не хватает?

Комментарии:

1. С этим тоже сталкиваюсь. Кто-нибудь?

Ответ №1:

Найден способ с помощью expo-image-manipulator. «Сжатие: 1» — это наилучшее качество, которое вы можете получить. Затем сохранение ресурса с помощью expo-media-library. Больше нет потери качества.

 const { uri } = await ImageManipulator.manipulateAsync(
   path, //path to your local asset
   [],
   { compress: 1, format: ImageManipulator.SaveFormat.PNG }
);

const asset = await MediaLibrary.createAssetAsync(uri);