عن المشروع
# 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 المقدم).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.