#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);