حالة الاستخدام النموذجية لوحدة Node-API عالية السرعة هذه هي تحويل الصور الكبيرة بتنسيقات شائعة إلى صور JPEG وPNG وWebP وGIF وAVIF ذات أبعاد مختلفة وملائمة للويب.
ويمكن استخدامه مع جميع أوقات تشغيل JavaScript التي توفر الدعم لـ Node-API v9، بما في ذلك Node.js (^18.17.0 أو >= 20.3.0)، وDeno، وBun.
عادةً ما يكون تغيير حجم الصورة أسرع بمعدل 4x-5x من استخدام أسرع إعدادات ImageMagick وGraphicsMagick نظرًا لاستخدامها لـ libvips.
تتم معالجة مساحات الألوان وملفات تعريف ICC المضمنة وقنوات شفافية ألفا بشكل صحيح. تضمن إعادة تشكيل Lanczos عدم التضحية بالجودة من أجل السرعة.
بالإضافة إلى تغيير حجم الصورة، تتوفر عمليات مثل التدوير والاستخراج والتركيب وتصحيح جاما.
لا تتطلب معظم أنظمة macOS وWindows وLinux الحديثة أي تثبيت إضافي أو تبعيات وقت التشغيل.
قم بزيارة موقع Sharp.pixelplumbing.com للحصول على تعليمات التثبيت الكاملة ووثائق واجهة برمجة التطبيقات (API) واختبارات الأداء وسجل التغيير.
npm install sharp
const sharp = require ( 'sharp' ) ;
sharp ( inputBuffer )
. resize ( 320 , 240 )
. toFile ( 'output.webp' , ( err , info ) => { ... } ) ;
sharp ( 'input.jpg' )
. rotate ( )
. resize ( 200 )
. jpeg ( { mozjpeg : true } )
. toBuffer ( )
. then ( data => { ... } )
. catch ( err => { ... } ) ;
const semiTransparentRedPng = await sharp ( {
create : {
width : 48 ,
height : 48 ,
channels : 4 ,
background : { r : 255 , g : 0 , b : 0 , alpha : 0.5 }
}
} )
. png ( )
. toBuffer ( ) ;
const roundedCorners = Buffer . from (
'<svg><rect x="0" y="0" width="200" height="200" rx="50" ry="50"/></svg>'
) ;
const roundedCornerResizer =
sharp ( )
. resize ( 200 , 200 )
. composite ( [ {
input : roundedCorners ,
blend : 'dest-in'
} ] )
. png ( ) ;
readableStream
. pipe ( roundedCornerResizer )
. pipe ( writableStream ) ;
يغطي دليل المساهمين الإبلاغ عن الأخطاء وطلب الميزات وإرسال تغييرات التعليمات البرمجية.
حقوق الطبع والنشر لعام 2013 محفوظة لشركة لوفيل فولر وآخرين.
مرخص بموجب ترخيص Apache، الإصدار 2.0 ("الترخيص")؛ لا يجوز لك استخدام هذا الملف إلا وفقًا للترخيص. يمكنك الحصول على نسخة من الترخيص على https://www.apache.org/licenses/LICENSE-2.0
ما لم يكن ذلك مطلوبًا بموجب القانون المعمول به أو تم الاتفاق عليه كتابيًا، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي"، دون ضمانات أو شروط من أي نوع، سواء كانت صريحة أو ضمنية. راجع الترخيص لمعرفة الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.