جافا سكريبت صورة cropper. هذا هو الفرع لـ V1.x ، لـ V2.x ، تحقق من فرع
v2.
dist/
├── cropper.css
├── cropper.min.css (compressed)
├── cropper.js (UMD)
├── cropper.min.js (UMD, compressed)
├── cropper.common.js (CommonJS, default)
└── cropper.esm.js (ES Module)
npm install cropperjsفي المتصفح:
< link href =" /path/to/cropper.css " rel =" stylesheet " >
< script src =" /path/to/cropper.js " > </ script >يوفر CDNJS دعم CDN ل CSS و JavaScript's CropPer.js. يمكنك العثور على الروابط هنا.
new Cropper ( element [ , options ] )عنصر
HTMLImageElement أو HTMLCanvasElementالخيارات (اختيارية)
Object <!-- Wrap the image or canvas element with a block element (container) -->
< div >
< img id =" image " src =" picture.jpg " >
</ div > /* Make sure the size of the image fits perfectly into the container */
img {
display : block;
/* This rule is very important, please don't ignore this */
max-width : 100 % ;
} // import 'cropperjs/dist/cropper.css';
import Cropper from 'cropperjs' ;
const image = document . getElementById ( 'image' ) ;
const cropper = new Cropper ( image , {
aspectRatio : 16 / 9 ,
crop ( event ) {
console . log ( event . detail . x ) ;
console . log ( event . detail . y ) ;
console . log ( event . detail . width ) ;
console . log ( event . detail . height ) ;
console . log ( event . detail . rotate ) ;
console . log ( event . detail . scaleX ) ;
console . log ( event . detail . scaleY ) ;
} ,
} ) ; كيف تقرع منطقة جديدة بعد التكبير أو التصغير؟
فقط انقر نقرًا مزدوجًا فوق الماوس لدخول وضع المحاصيل.
كيفية تحريك الصورة بعد اقتصاص المنطقة؟
فقط انقر نقرًا مزدوجًا فوق الماوس الخاص بك للدخول إلى وضع التحرك.
كيفية إصلاح نسبة العرض إلى الارتفاع في وضع النسبة الحرة؟
فقط امسك مفتاح
Shiftعند تغيير حجم مربع المحاصيل.
كيف تقطع مساحة مربعة في وضع نسبة مجانية؟
فقط احصل على مفتاح
Shiftعند قصك على الصورة.
يرث حجم المحاصيل من حجم العنصر الوالد الخاص بالصورة (Wrapper) ، لذلك تأكد من لف الصورة بعنصر كتلة مرئية .
إذا كنت تستخدم Cropper في وسيط ، فيجب عليك تهيئة Cropper بعد عرض الوسائط تمامًا. خلاف ذلك ، لن تحصل على cropper الصحيح.
تعتمد البيانات المقطوعة المخرجات على حجم الصورة الأصلي ، بحيث يمكنك استخدامها لاقترار الصورة مباشرة.
إذا حاولت بدء تشغيل Cropper على صورة عبر الأصل ، فيرجى التأكد من أن المتصفح يدعم سمات إعدادات HTML5 CORS ، ويدعم خادم الصور الخاص بك خيار Access-Control-Allow-Origin (انظر التحكم في الوصول إلى HTTP (CORS)).
حدود موارد iOS المعروفة: نظرًا لأن أجهزة iOS تحد من الذاكرة ، فقد يتعطل المتصفح عند اقتصاد صورة كبيرة (دقة كاميرا iPhone). لتجنب ذلك ، يمكنك تغيير حجم الصورة أولاً (ويفضل أن يكون أقل من 1024 بكسل) قبل بدء تشغيل المحاصيل.
زيادة حجم الصورة المعروفة: عند تصدير الصورة المزروعة على جانب المتصفح باستخدام طريقة HTMLCanvasElement.toDataURL ، قد يكون حجم الصورة المصدرة أكبر من الصورة الأصلية. هذا لأن نوع الصورة المصدرة ليس هو نفس الصورة الأصلية. لذا ، فقط تمرير نوع الصورة الأصلية كمعلمة الأولى إلى toDataURL لإصلاح هذا. على سبيل المثال ، إذا كان النوع الأصلي هو JPEG ، فاستخدم cropper.getCroppedCanvas().toDataURL('image/jpeg') لتصدير صورة.
⬆ العودة إلى الأعلى
يمكنك تعيين خيارات Cropper مع new Cropper(image, options) . إذا كنت ترغب في تغيير الخيارات الافتراضية العالمية ، فيمكنك استخدام Cropper.setDefaults(options) .
Number00 : لا توجد قيود1 : تقييد صندوق المحاصيل حتى لا يتجاوز حجم القماش.2 : تقييد الحد الأدنى لحجم القماش لتناسب داخل الحاوية. إذا اختلفت نسب القماش والحاوية ، فسيكون الحد الأدنى من القماش محاطًا بمساحة إضافية في أحد الأبعاد.3 : تقييد الحد الأدنى لحجم القماش لملء الحاوية. إذا كانت نسب القماش والحاوية مختلفة ، فلن تكون الحاوية قادرة على احتواء القماش بأكمله في أحد الأبعاد. تحديد طريقة عرض cropper. إذا قمت بتعيين viewMode على 0 ، فيمكن أن يمتد مربع المحاصيل خارج القماش ، في حين أن قيمة 1 أو 2 أو 3 ستقيد مربع المحاصيل على حجم اللوحة القماشية. سيؤدي viewMode من 2 أو 3 إلى تقييد القماش إلى الحاوية. لا يوجد فرق بين 2 و 3 عندما تكون نسب القماش والحاوية هي نفسها.
String'crop''crop' : قم بإنشاء صندوق محصول جديد'move' : حرك اللوحة القماشية'none' : لا تفعل شيئًاتحديد وضع السحب من cropper.
NumberNaNتحديد نسبة العرض إلى الارتفاع الأولية لمربع المحاصيل. بشكل افتراضي ، هو نفس نسبة العرض إلى الارتفاع للقطن (غلاف الصور).
متاح فقط عندما يتم تعيين خيار
aspectRatioعلىNaN.
NumberNaNتحديد نسبة العرض إلى الارتفاع الثابتة لصندوق المحاصيل. بشكل افتراضي ، يحتوي صندوق المحاصيل على نسبة حرة.
Objectnull سيتم تمرير البيانات السابقة التي تم تخزينها إلى طريقة setData تلقائيًا عند تهيئة.
متاح فقط عندما يكون خيار
autoCropقد تم تعيينه علىtrue.
Element ، Array (عناصر) ، NodeList أو String (محدد)''أضف عناصر إضافية (حاويات) للمعاينة.
ملحوظات:
aspectRatio ، فتأكد من تعيين نفس نسبة العرض إلى حاوية المعاينة.overflow: hidden إلى حاوية المعاينة.Booleantrueإعادة تقديم المحاصيل عند تغيير حجم النافذة.
Booleantrueاستعادة المنطقة المزروعة بعد تغيير حجم النافذة.
Booleantrueتحقق مما إذا كانت الصورة الحالية هي صورة عبر الأصل.
إذا كان الأمر كذلك ، فسيتم إضافة سمة crossOrigin إلى عنصر الصورة المستنسخة ، وسيتم إضافة معلمة الطابع الزمني إلى سمة src لإعادة تحميل صورة المصدر لتجنب خطأ ذاكرة التخزين المؤقت للمتصفح.
ستتوقف إضافة سمة crossOrigin إلى عنصر الصورة عن إضافة طابع زمني إلى عنوان URL للصورة وتوقف عن إعادة تحميل الصورة. لكن الطلب (XMLHTTPREQUEST) لقراءة بيانات الصورة لفحص الاتجاه سيتطلب من الطابع الزمني لكسر ذاكرة التخزين المؤقت لتجنب خطأ ذاكرة التخزين المؤقت للمتصفح. يمكنك تعيين خيار checkOrientation إلى false لإلغاء هذا الطلب.
إذا كانت قيمة سمة crossOrigin الخاصة بالصورة هي "use-credentials" ، فسيتم تعيين سمة withCredentials على true عند قراءة بيانات الصورة بواسطة xmlhttprequest.
Booleantrueتحقق من معلومات التوجيه EXIF الخاص بالصورة الحالية. لاحظ أن صورة JPEG فقط قد تحتوي على معلومات توجيه EXIF.
بالضبط ، اقرأ قيمة الاتجاه لتدوير الصورة أو تقلبها ، ثم تجاوز قيمة الاتجاه مع 1 (القيمة الافتراضية) لتجنب بعض المشكلات (1 ، 2) على أجهزة iOS.
true ضبط كل من الخيارات rotatable والقابلة scalable في نفس الوقت.
ملاحظة: لا تثق في هذا طوال الوقت لأن بعض صور JPG قد يكون لها قيم اتجاه غير صحيحة (غير قياسية)
يتطلب دعم المصفوفات المكتوبة (أي 10+).
Booleantrueأظهر الوسائط السوداء فوق الصورة وتحت مربع المحاصيل.
Booleantrueإظهار الخطوط المتقطعة فوق صندوق المحاصيل.
Booleantrueأظهر مؤشر المركز فوق صندوق المحاصيل.
Booleantrueأظهر الوسائط البيضاء فوق صندوق المحاصيل (تمييز مربع المحاصيل).
Booleantrueأظهر خلفية الشبكة للحاوية.
Booleantrueقم بتمكين الصورة تلقائيًا عند تهيئة.
Number0.8 (80 ٪ من الصورة)يجب أن يكون رقمًا بين 0 و 1. تحديد حجم منطقة المحاصيل التلقائية (النسبة المئوية).
Booleantrueتمكين نقل الصورة.
Booleantrueتمكين تدوير الصورة.
Booleantrueتمكين توسيع نطاق الصورة.
Booleantrueتمكين تكبير الصورة.
Booleantrueتمكين تكبير الصورة عن طريق سحب اللمس.
Booleantrueتمكين تكبير الصورة بواسطة عجلات الماوس.
Number0.1حدد نسبة التكبير عند تكبير الصورة بواسطة عجلات الماوس.
Booleantrueتمكين نقل صندوق المحاصيل عن طريق السحب.
Booleantrueتمكين تغيير حجم صندوق المحاصيل عن طريق السحب.
Booleantrue تمكين تبديل وضع السحب بين "crop" و "move" عند النقر مرتين على المحاصيل.
يتطلب دعم حدث
dblclick.
Number200الحد الأدنى عرض الحاوية.
Number100الحد الأدنى لارتفاع الحاوية.
Number0الحد الأدنى عرض القماش (غلاف الصورة).
Number0الحد الأدنى لارتفاع القماش (غلاف الصورة).
Number0الحد الأدنى عرض صندوق المحاصيل.
ملاحظة: هذا الحجم يتعلق بالصفحة ، وليس الصورة.
Number0الحد الأدنى لارتفاع صندوق المحاصيل.
ملاحظة: هذا الحجم يتعلق بالصفحة ، وليس الصورة.
Functionnull اختصار لهذا الحدث ready .
Functionnull اختصار لحدث cropstart .
Functionnull اختصار لحدث cropmove .
Functionnull اختصار لحدث cropend .
Functionnull اختصار لحدث crop .
Functionnull اختصار لحدث zoom .
⬆ العودة إلى الأعلى
نظرًا لوجود عملية غير متزامنة عند تحميل الصورة ، يجب عليك استدعاء معظم الأساليب بعد الاستعداد ، باستثناء setAspectRatio ، replace destroy .
إذا لم تكن الطريقة بحاجة إلى إرجاع أي قيمة ، فسيقوم بإرجاع مثيل Cropper (
this) لتكوين السلسلة.
new Cropper ( image , {
ready ( ) {
// this.cropper[method](argument1, , argument2, ..., argumentN);
this . cropper . move ( 1 , - 1 ) ;
// Allows chain composition
this . cropper . move ( 1 , - 1 ) . rotate ( 45 ) . scale ( 1 , - 1 ) ;
} ,
} ) ;أظهر صندوق المحاصيل يدويًا.
new Cropper ( image , {
autoCrop : false ,
ready ( ) {
// Do something here
// ...
// And then
this . cropper . crop ( ) ;
} ,
} ) ;أعد ضبط الصورة ومربع المحاصيل إلى حالاتها الأولية.
مسح صندوق المحاصيل.
URL :
Stringتسرع (اختياري):
Booleanfalseاستبدل SRC الصورة وإعادة بناء Cropper.
تمكين (unfremeze) cropper.
تعطيل (تجميد) cropper.
تدمير cropper وأزل المثيل من الصورة.
Offsetx :
NumberOffety (اختياري):
NumberoffsetX .حرك القماش (غلاف الصور) مع الإزاحة النسبية.
cropper . move ( 1 ) ;
cropper . move ( 1 , 0 ) ;
cropper . move ( 0 , - 1 ) ;x :
Numberleft للقماشص (اختياري):
Numbertop للقماشx .حرك القماش (غلاف الصورة) إلى نقطة مطلقة.
Numberتكبير القماش (غلاف الصور) بنسبة نسبية.
cropper . zoom ( 0.1 ) ;
cropper . zoom ( - 0.1 ) ;نسبة :
NumberPIVOT (اختياري):
Object{ x: Number, y: Number }تكبير القماش (غلاف الصورة) إلى نسبة مطلقة.
cropper . zoomTo ( 1 ) ; // 1:1 (canvasData.width === canvasData.naturalWidth)
const containerData = cropper . getContainerData ( ) ;
// Zoom to 50% from the center of the container.
cropper . zoomTo ( .5 , {
x : containerData . width / 2 ,
y : containerData . height / 2 ,
} ) ;Numberتدوير الصورة إلى درجة نسبية.
يتطلب CSS3 2D تحويل الدعم (أي 9+).
cropper . rotate ( 90 ) ;
cropper . rotate ( - 90 ) ;Numberتدوير الصورة إلى درجة مطلقة.
Scalex :
Number11 لا يفعل شيئًا.Scaley (اختياري):
NumberscaleX .قم بتوسيع نطاق الصورة.
يتطلب CSS3 2D تحويل الدعم (أي 9+).
cropper . scale ( - 1 ) ; // Flip both horizontal and vertical
cropper . scale ( - 1 , 1 ) ; // Flip horizontal
cropper . scale ( 1 , - 1 ) ; // Flip verticalNumber11 لا يفعل شيئًا.قم بتوسيع نطاق abscissa من الصورة.
Number11 لا يفعل شيئًا.قم بتوسيع نطاق الإحداثيات من الصورة.
مستدير (اختياري):
Booleanfalsetrue للحصول على القيم الدائرية.(قيمة الإرجاع):
Objectx : الإزاحة اليسرى من المنطقة المزروعةy : أعلى الإزاحة من المنطقة المزروعةwidth : عرض المنطقة المزروعةheight : ارتفاع المنطقة المزروعةrotate : الدرجات الدوارة من الصورةscaleX : عامل التحجيم للتطبيق على abscissa من الصورةscaleY : عامل التحجيم للتطبيق على الإحداثيات من الصورةإخراج الموضع النهائي للمنطقة المزروعة وبيانات الحجم (بناءً على الحجم الطبيعي للصورة الأصلية).
يمكنك إرسال البيانات إلى جانب الخادم لاقتصاص الصورة مباشرة:
- قم بتدوير الصورة باستخدام خاصية
rotate.- قم بتوسيع نطاق الصورة مع خصائص
scaleXوscaleY.- اقتصاص الصورة مع خصائص
xوyوwidthوheight.

ObjectgetData .قم بتغيير موضع المنطقة المحصورين وحجمها ببيانات جديدة (استنادًا إلى الصورة الأصلية).
ملاحظة: هذه الطريقة متاحة فقط عندما تكون قيمة خيار
viewModeأكبر من أو تساوي1.
Objectwidth : العرض الحالي للحاويةheight : الارتفاع الحالي للحاويةإخراج بيانات حجم الحاوية.

Objectleft : الإزاحة اليسرى من الصورةtop : أعلى إزاحة الصورةwidth : عرض الصورةheight : ارتفاع الصورةnaturalWidth : العرض الطبيعي للصورةnaturalHeight : الارتفاع الطبيعي للصورةaspectRatio : نسبة العرض إلى الارتفاع للصورةrotate : الدرجات الدوارة من الصورة إذا تم تدويرهاscaleX : عامل التحجيم للتطبيق على abscissa من الصورة إذا تم تحجيمهscaleY : عامل التحجيم الذي يجب تطبيقه على الإحداثة من الصورة إذا تم تحجيمهإخراج موضع الصورة والحجم والبيانات الأخرى ذات الصلة.
Objectleft : الإزاحة اليسرى من القماشtop : أعلى القماش الإزاحةwidth : عرض القماشheight : ارتفاع القماشnaturalWidth : العرض الطبيعي للقماش (اقرأ فقط)naturalHeight : الارتفاع الطبيعي للقماش (اقرأ فقط)إخراج موقف القماش (غلاف الصورة) وبيانات الحجم.
const imageData = cropper . getImageData ( ) ;
const canvasData = cropper . getCanvasData ( ) ;
if ( imageData . rotate % 180 === 0 ) {
console . log ( canvasData . naturalWidth === imageData . naturalWidth ) ;
// > true
}Objectleft : الإزاحة الجديدة اليسرى من القماشtop : أعلى الإزاحة الجديدة من القماشwidth : العرض الجديد للقماشheight : الارتفاع الجديد للقماشقم بتغيير موضع القماش (غلاف الصور) وحجمه مع بيانات جديدة.
Objectleft : الإزاحة اليسرى من صندوق المحاصيلtop : أعلى إزاحة صندوق المحاصيلwidth : عرض صندوق المحاصيلheight : ارتفاع صندوق المحاصيلإخراج موضع مربع المحاصيل وبيانات الحجم.
Objectleft : الإزاحة الجديدة اليسار من صندوق المحاصيلtop : أعلى إزاحة من صندوق المحاصيلwidth : العرض الجديد لصندوق المحاصيلheight : الارتفاع الجديد لصندوق المحاصيلقم بتغيير موضع مربع المحاصيل وحجمه مع بيانات جديدة.
الخيارات (اختيارية):
Objectwidth : عرض الوجهة لقماش الإخراج.height : ارتفاع الوجهة لقماش الإخراج.minWidth : الحد الأدنى لعرض الوجهة لقماش الإخراج ، القيمة الافتراضية هي 0 .minHeight : الحد الأدنى لارتفاع الوجهة لقماش الإخراج ، القيمة الافتراضية هي 0 .maxWidth : الحد الأقصى لعرض الوجهة لقماش الإخراج ، القيمة الافتراضية هي Infinity .maxHeight : الحد الأقصى لارتفاع الوجهة لقماش الإخراج ، القيمة الافتراضية هي Infinity .fillColor : اللون لملء أي قيم ألفا في قماش الإخراج ، والقيمة الافتراضية هي transparent .imageSmoothingEnabled : تعيين للتغيير إذا تم تنعيم الصور ( true ، افتراضية) أو لا ( false ).imageSmoothingQuality : اضبط جودة تجانس الصور ، واحدة من "Low" (افتراضي) أو "متوسطة" أو "عالية".rounded : اضبط true لاستخدام القيم المستديرة (موضع المنطقة المزروعة وبيانات الحجم) ، القيمة الافتراضية false .(قيمة الإرجاع):
HTMLCanvasElementملحوظات:
fillColor أولاً ، إن لم يكن ، سيصبح الجزء الشفاف في صورة JPEG أسودًا بشكل افتراضي.دعم المتصفح:
احصل على قماش مستمد من الصورة المزروعة (ضغط ضياع). إذا لم يتم اقتصاصه ، فإنه يعيد قماش رسمت الصورة بأكملها.
بعد ذلك ، يمكنك عرض القماش كصورة مباشرة ، أو استخدام htmlcanvaselement.todataurl للحصول على عنوان URL للبيانات ، أو استخدام htmlcanvaseLement.TOBLOB للحصول على نقطة وتحميلها على الخادم باستخدام formdata إذا دعم المتصفح هذه واجهات برمجة التطبيقات.
تجنب الحصول على صورة إخراج فارغة (أو أسود) ، قد تحتاج إلى تعيين خصائص maxWidth و maxHeight على أرقام محدودة ، بسبب حدود حجم عنصر القماش. أيضًا ، يجب عليك الحد من نسبة التكبير القصوى (في حدث zoom ) لنفس السبب.
cropper . getCroppedCanvas ( ) ;
cropper . getCroppedCanvas ( {
width : 160 ,
height : 90 ,
} ) ;
cropper . getCroppedCanvas ( {
minWidth : 256 ,
minHeight : 256 ,
maxWidth : 4096 ,
maxHeight : 4096 ,
} ) ;
cropper . getCroppedCanvas ( {
fillColor : '#fff' ,
imageSmoothingEnabled : false ,
imageSmoothingQuality : 'high' ,
} ) ;
// Upload cropped image to server if the browser supports `HTMLCanvasElement.toBlob`.
// The default value for the second parameter of `toBlob` is 'image/png', change it if necessary.
cropper . getCroppedCanvas ( ) . toBlob ( ( blob ) => {
const formData = new FormData ( ) ;
// Pass the image file name as the third parameter if necessary.
formData . append ( 'croppedImage' , blob /*, 'example.png' */ ) ;
// Use `jQuery.ajax` method for example
$ . ajax ( '/path/to/upload' , {
method : 'POST' ,
data : formData ,
processData : false ,
contentType : false ,
success ( ) {
console . log ( 'Upload success' ) ;
} ,
error ( ) {
console . log ( 'Upload error' ) ;
} ,
} ) ;
} /*, 'image/png' */ ) ;Numberتغيير نسبة العرض إلى الارتفاع في صندوق المحاصيل.
String'none''none' ، 'crop' ، 'move'تغيير وضع السحب.
نصائح: يمكنك تبديل وضع "المحاصيل" و "نقل" بالنقر المزدوج على المحاصيل.
⬆ العودة إلى الأعلى
يطلق هذا الحدث عند تحميل الصورة المستهدفة ويكون مثيل Cropper جاهزًا للعمل.
let cropper ;
image . addEventListener ( 'ready' , function ( ) {
console . log ( this . cropper === cropper ) ;
// > true
} ) ;
cropper = new Cropper ( image ) ;event.detail.originalevent :
Eventpointerdown و touchstart و mousedownevent.detail.action :
String'crop' : قم بإنشاء صندوق محصول جديد'move' : حرك القماش (غلاف الصور)'zoom' : تكبير / الخروج من القماش (غلاف الصورة) عن طريق اللمس.'e' : تغيير حجم الجانب الشرقي من صندوق المحاصيل'w' : تغيير حجم الجانب الغربي من صندوق المحاصيل's' : تغيير حجم الجانب الجنوبي من صندوق المحاصيل'n' : تغيير حجم الجانب الشمالي من صندوق المحاصيل'se' : تغيير حجم الجانب الجنوبي الشرقي من صندوق المحاصيل'sw' : تغيير حجم الجانب الجنوبي الغربي من صندوق المحاصيل'ne' : تغيير حجم الجانب الشمالي الشرقي من صندوق المحاصيل'nw' : تغيير حجم الجانب الشمالي الغربي من صندوق المحاصيل'all' : حرك صندوق المحاصيل (جميع الاتجاهات)يطلق هذا الحدث عندما يبدأ التغيير في القماش (غلاف الصورة) أو مربع المحاصيل.
image . addEventListener ( 'cropstart' , ( event ) => {
console . log ( event . detail . originalEvent ) ;
console . log ( event . detail . action ) ;
} ) ;event.detail.originalevent :
Eventpointermove ، touchmove ، و mousemove .event.detail.action : نفس "CropStart".
يطلق هذا الحدث عندما يتغير القماش (غلاف الصور) أو مربع المحاصيل.
event.detail.originalevent :
Eventpointerup ، pointercancel ، touchend ، touchcancel ، و mouseup .event.detail.action : نفس "CropStart".
يطلق هذا الحدث عندما يتوقف القماش (غلاف الصور) أو مربع المحاصيل عن التغيير.
حول هذه الخصائص ، انظر طريقة
getData.
يطلق هذا الحدث عندما يتغير القماش (غلاف الصورة) أو مربع المحاصيل.
ملحوظات:
autoCrop على true ، سيتم تشغيل حدث crop قبل الحدث ready .data ، سيتم تشغيل حدث crop آخر قبل الحدث ready .event.detail.originalevent :
Eventwheel ، pointermove ، touchmove ، و mousemove .event.detail.oldratio :
Numberevent.detail.ratio :
NumbercanvasData.width / canvasData.naturalWidth )يطلق هذا الحدث عندما يبدأ مثيل Cropper في تكبير أو تصغير قماشه (غلاف الصور).
image . addEventListener ( 'zoom' , ( event ) => {
// Zoom in
if ( event . detail . ratio > event . detail . oldRatio ) {
event . preventDefault ( ) ; // Prevent zoom in
}
// Zoom out
// ...
} ) ;⬆ العودة إلى الأعلى
إذا كان عليك استخدام محصول آخر مع نفس مساحة الاسم ، فما عليك سوى الاتصال بالطريقة الثابتة على Cropper.noConflict للعودة إليها.
< script src =" other-cropper.js " > </ script >
< script src =" cropper.js " > </ script >
< script >
Cropper . noConflict ( ) ;
// Code that uses other `Cropper` can follow here.
</ script > يرجى قراءة إرشاداتنا المساهمة.
تم الحفاظ عليها بموجب إرشادات الإصدار الدلالي.
MIT © Chen Fengyuan
⬆ العودة إلى الأعلى