منصوبے کے بارے میں
# 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';
// Single image with cropping
ImagePicker.openPicker({ width: 300, height: 400, cropping: true })
.then(image => console.log(image))
.catch(error => console.log(error));
// Multiple images
ImagePicker.openPicker({ multiple: true })
.then(images => console.log(images));
// Video only
ImagePicker.openPicker({ mediaType: 'video' })
.then(video => console.log(video));
// Camera
ImagePicker.openCamera({ width: 300, height: 400, cropping: true })
.then(image => console.log(image));
// Crop an existing file
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 میں واضح طور پر بیان نہیں کیا گیا ہے)۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.