À propos du projet

# react-native-image-crop-picker Un module React Native pour sélectionner des images et des vidéos depuis la galerie de l'appareil ou l'appareil photo, avec prise en charge du recadrage, de la compression, de la sélection multiple et de diverses options de personnalisation. Il fonctionne à la fois sur iOS et Android. ## Fonctionnalités - **Galerie et appareil photo** : Ouvrez directement le sélecteur système ou l'appareil photo. - **Recadrage** : Activez le recadrage avec des dimensions personnalisables, un overlay circulaire, un recadrage libre et des gestes de rotation (Android). - **Sélection multiple** : Sélectionnez plusieurs images ou vidéos à la fois. - **Compression** : Compressez les images par largeur/hauteur/qualité maximales, et les vidéos par préréglage (iOS). - **Type de média** : Filtrez par photo, vidéo ou tous. - **Base64 et EXIF** : Incluez éventuellement les données base64 et les métadonnées EXIF dans la réponse. - **Nettoyage** : Supprimez les fichiers temporaires créés pendant la sélection. - **Personnalisation** : Options étendues pour les couleurs de l'interface, le texte et le comportement (par exemple, cadre de recadrage, guides, barre d'outils). ## Installation npm i react-native-image-crop-picker --save Pour iOS, exécutez cd ios && pod install. Ajoutez les descriptions d'utilisation à Info.plist (par exemple, NSPhotoLibraryUsageDescription pour l'accès à la photothèque). Pour Android, ajoutez les permissions nécessaires à AndroidManifest.xml (par exemple, appareil photo, stockage). ## Utilisation import ImagePicker from 'react-native-image-crop-picker'; // Image unique avec recadrage ImagePicker.openPicker({ width: 300, height: 400, cropping: true }) .then(image => console.log(image)) .catch(error => console.log(error)); // Images multiples ImagePicker.openPicker({ multiple: true }) .then(images => console.log(images)); // Vidéo uniquement ImagePicker.openPicker({ mediaType: 'video' }) .then(video => console.log(video)); // Appareil photo ImagePicker.openCamera({ width: 300, height: 400, cropping: true }) .then(image => console.log(image)); // Recadrer un fichier existant ImagePicker.openCropper({ path: 'file-path.jpg', width: 300, height: 400 }) .then(image => console.log(image)); ## Options Les options clés incluent cropping, width, height, multiple, mediaType, includeBase64, includeExif, compressImageMaxWidth, compressImageMaxHeight, compressImageQuality, freeStyleCropEnabled, cropperCircleOverlay, et bien d'autres. Consultez le README pour la liste complète. ## Réponse Chaque élément sélectionné inclut des propriétés comme path, width, height, mime, size, duration (pour les vidéos), data (si base64), exif, et cropRect. iOS fournit également localIdentifier, sourceURL, creationDate, et modificationDate. ## Remarques - Pour la nouvelle architecture React Native, utilisez la version 0.50.0 ou supérieure. - Sur Android, évitez de définir cropping à true lors de la sélection de vidéos, car cela peut masquer les vidéos dans la galerie. - Le module crée des fichiers temporaires ; utilisez clean() ou cleanSingle(path) pour les supprimer. ## Licence MIT (implicite d'après le dépôt, mais non explicitement indiqué dans le README fourni).