Об этом проекте

# react-native-image-crop-picker Модуль React Native для выбора изображений и видео из галереи устройства или камеры, с поддержкой обрезки, сжатия, множественного выбора и различными вариантами настройки. Работает как на iOS, так и на Android. ## Возможности - **Галерея и камера**: Откройте системный выборщик или камеру напрямую. - **Обрезка**: Включите обрезку с настраиваемыми размерами, круглым оверлеем, свободной формой кадрирования и жестами вращения (Android). - **Множественный выбор**: Выбирайте несколько изображений или видео одновременно. - **Сжатие**: Сжимайте изображения по максимальной ширине/высоте/качеству и видео по пресету (iOS). - **Тип медиа**: Фильтруйте по фото, видео или любому типу. - **Base64 и EXIF**: По желанию включайте данные base64 и метаданные EXIF в ответ. - **Очистка**: Удаляйте временные файлы, созданные во время выбора. - **Настройка**: Широкие возможности для цветов интерфейса, текста и поведения (например, рамка кадрирования, направляющие линии, панель инструментов). ## Установка ```bash npm i react-native-image-crop-picker --save ``` Для iOS выполните `cd ios && pod install`. Добавьте описания использования в `Info.plist` (например, `NSPhotoLibraryUsageDescription` для доступа к фотобиблиотеке). Для Android добавьте необходимые разрешения в `AndroidManifest.xml` (например, камера, хранилище). ## Использование ```javascript import ImagePicker from 'react-native-image-crop-picker'; // Одно изображение с обрезкой ImagePicker.openPicker({ width: 300, height: 400, cropping: true }) .then(image => console.log(image)) .catch(error => console.log(error)); // Несколько изображений ImagePicker.openPicker({ multiple: true }) .then(images => console.log(images)); // Только видео ImagePicker.openPicker({ mediaType: 'video' }) .then(video => console.log(video)); // Камера ImagePicker.openCamera({ width: 300, height: 400, cropping: true }) .then(image => console.log(image)); // Обрезать существующий файл ImagePicker.openCropper({ path: 'file-path.jpg', width: 300, height: 400 }) .then(image => console.log(image)); ``` ## Параметры Ключевые параметры включают `cropping`, `width`, `height`, `multiple`, `mediaType`, `includeBase64`, `includeExif`, `compressImageMaxWidth`, `compressImageMaxHeight`, `compressImageQuality`, `freeStyleCropEnabled`, `cropperCircleOverlay` и многие другие. Полный список см. в README. ## Ответ Каждый выбранный ресурс включает такие свойства, как `path`, `width`, `height`, `mime`, `size`, `duration` (для видео), `data` (если base64), `exif` и `cropRect`. iOS также предоставляет `localIdentifier`, `sourceURL`, `creationDate` и `modificationDate`. ## Примечания - Для новой архитектуры React Native используйте версию >= 0.50.0. - На Android избегайте установки `cropping` в значение `true` при выборе видео, так как это может скрыть видео в галерее. - Модуль создает временные файлы; используйте `clean()` или `cleanSingle(path)` для их удаления. ## Лицензия MIT (подразумевается репозиторием, но явно не указана в предоставленном README).