Sobre el proyecto

# react-native-image-crop-picker Un módulo de React Native para seleccionar imágenes y videos desde la galería o la cámara del dispositivo, con soporte para recorte, compresión, selección múltiple y diversas opciones de personalización. Funciona tanto en iOS como en Android. ## Características - **Galería y cámara**: Abre el selector del sistema o la cámara directamente. - **Recorte**: Habilita el recorte con dimensiones personalizables, superposición circular, recorte de estilo libre y gestos de rotación (Android). - **Selección múltiple**: Selecciona varias imágenes o videos a la vez. - **Compresión**: Comprime imágenes según ancho/alto/calidad máximos, y los videos mediante un preset (iOS). - **Tipo de medio**: Filtra por foto, video o cualquiera. - **Base64 y EXIF**: Opcionalmente incluye datos base64 y metadatos EXIF en la respuesta. - **Limpieza**: Elimina los archivos temporales creados durante la selección. - **Personalización**: Amplias opciones para los colores de la interfaz, el texto y el comportamiento (p. ej., marco de recorte, guías, barra de herramientas). ## Instalación ```bash npm i react-native-image-crop-picker --save ``` Para iOS, ejecuta `cd ios && pod install`. Añade las descripciones de uso a `Info.plist` (p. ej., `NSPhotoLibraryUsageDescription` para el acceso a la biblioteca de fotos). Para Android, añade los permisos necesarios a `AndroidManifest.xml` (p. ej., cámara, almacenamiento). ## Uso ```javascript import ImagePicker from 'react-native-image-crop-picker'; // Imagen única con recorte ImagePicker.openPicker({ width: 300, height: 400, cropping: true }) .then(image => console.log(image)) .catch(error => console.log(error)); // Imágenes múltiples ImagePicker.openPicker({ multiple: true }) .then(images => console.log(images)); // Solo video ImagePicker.openPicker({ mediaType: 'video' }) .then(video => console.log(video)); // Cámara ImagePicker.openCamera({ width: 300, height: 400, cropping: true }) .then(image => console.log(image)); // Recortar un archivo existente ImagePicker.openCropper({ path: 'file-path.jpg', width: 300, height: 400 }) .then(image => console.log(image)); ``` ## Opciones Las opciones clave incluyen `cropping`, `width`, `height`, `multiple`, `mediaType`, `includeBase64`, `includeExif`, `compressImageMaxWidth`, `compressImageMaxHeight`, `compressImageQuality`, `freeStyleCropEnabled`, `cropperCircleOverlay`, y muchas más. Consulta el README para la lista completa. ## Respuesta Cada recurso seleccionado incluye propiedades como `path`, `width`, `height`, `mime`, `size`, `duration` (para videos), `data` (si es base64), `exif` y `cropRect`. iOS también proporciona `localIdentifier`, `sourceURL`, `creationDate` y `modificationDate`. ## Notas - Para la nueva arquitectura de React Native, usa la versión >= 0.50.0. - En Android, evita establecer `cropping` en `true` al seleccionar videos, ya que puede ocultar los videos en la galería. - El módulo crea archivos temporales; usa `clean()` o `cleanSingle(path)` para eliminarlos. ## Licencia MIT (implícita según el repositorio, pero no declarada explícitamente en el README proporcionado).