इस प्रोजेक्ट के बारे में

# react-native-image-crop-picker डिवाइस गैलरी या कैमरे से चित्रों और वीडियो का चयन करने के लिए एक React Native मॉड्यूल, जिसमें क्रॉपिंग, कम्प्रेशन, मल्टीप्ल सिलेक्शन और विभिन्न अनुकूलन विकल्पों का समर्थन है। यह iOS और Android दोनों पर काम करता है। ## विशेषताएं - **गैलरी और कैमरा**: सिस्टम पिकर या कैमरा सीधे खोलें। - **क्रॉपिंग**: अनुकूलित आयामों, सर्कुलर ओवरले, फ्री-स्टाइल क्रॉप और रोटेशन जेस्चर्स (Android) के साथ क्रॉपिंग सक्षम करें। - **मल्टीप्ल सिलेक्शन**: एक साथ कई छवियों या वीडियो का चयन करें। - **कम्प्रेशन**: अधिकतम चौड़ाई/ऊंचाई/गुणवत्ता द्वारा छवियों को संकुचित करें, और प्रीसेट द्वारा वीडियो (iOS)। - **मीडिया प्रकार**: फोटो, वीडियो या किसी भी प्रकार से फ़िल्टर करें। - **Base64 और EXIF**: वैकल्पिक रूप से प्रतिक्रिया में base64 डेटा और EXIF मेटाडेटा शामिल करें। - **क्लीनअप**: चयन के दौरान बनाई गई अस्थायी फ़ाइलों को हटा दें। - **अनुकूलन**: UI रंगों, टेक्स्ट और व्यवहार (उदाहरण के लिए, क्रॉप फ्रेम, गाइडलाइन, टूलबार) के लिए व्यापक विकल्प। ## इंस्टॉलेशन ```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 में स्पष्ट रूप से नहीं बताया गया है)।