ماژول پردازش سریع و سریع تصویر در Node.js

شارپ یک ماژول پردازش تصویر است که از کتابخانه libvips برای ارائه پردازش سریع برای پروژه های Node.js استفاده می کند.

شارپ یک ماژول تصویر پردازش سریع برای پروژه های Node.js است که توسط کتابخانه پردازش تصویر libvips پشتیبانی می شود. با توجه به این موارد، شارپ همانطور که از نامش پیداست، قدرت پردازش بالایی دارد، زیرا تنها چند ناحیه از داده‌های تصویر فشرده‌نشده را در حافظه ذخیره می‌کند و مقدار زیادی از قدرت پردازنده و حافظه نهان L1/L2/L3 را آزاد می‌کند.

این کتابخانه همچنین مطمئن می شود که هیچ فرآیند فرزندی ایجاد نمی شود و فرآیندهای غیر همگام یا انتظار پشتیبانی می شوند. شارپ به عنوان یک ماژول پردازش تصویر منبع باز، از فرمت های تصویری متعدد و داده های پیکسل خام فشرده نشده نیز پشتیبانی می کند. برای عملکرد بهینه مطمئن شوید که از Node.js نسخه 10 و بالاتر استفاده می کنید.

Previous Next

شروع کار با شارپ

روش توصیه شده برای نصب شارپ از طریق NPM. لطفا از دستور زیر برای نصب آن استفاده کنید.

شارپ را از طریق NPM نصب کنید

 npm install sharp 

تغییر اندازه تصاویر از طریق API رایگان جاوا اسکریپت

کتابخانه واضح منبع باز به توسعه دهندگان جاوا اسکریپت اجازه می دهد تا اندازه تصاویر را به صورت برنامه ای تغییر دهند. شارپ به شما امکان می دهد فرمت های تصویر بزرگ را به اندازه های کوچکتر تبدیل کنید که با برنامه های مختلف وب سازگار است. شارپ با کمک کتابخانه شارپ سرعت پردازش تصویر 4 تا 5 برابر در مقایسه با سایر مبدل‌های فرمت تصویر مانند ImageMagick یا GraphicsMagick دارد. شارپ تضمین می کند که کیفیت تصویر توسط ماژول نمونه برداری مجدد Lanczos به خطر نیفتد.

خواندن و تغییر اندازه تصاویر از طریق جاوا اسکریپت

const transformer = sharp()
  .resize({
    width: 200,
    height: 200,
    fit: sharp.fit.cover,
    position: sharp.strategy.entropy
  });
// Read image data from readableStream
// Write 200px square auto-cropped image data to writableStream
readableStream
  .pipe(transformer)
  .pipe(writableStream)

پردازش تصویر از طریق API جاوا اسکریپت رایگان

کتابخانه واضح به توسعه دهندگان نرم افزار امکان می دهد تا تصویر را در چارچوب جاوا اسکریپت پردازش کنند. شما می توانید عملیات تصویر مانند تغییر اندازه تصویر، چرخش، استخراج، تصحیح و ترکیب را انجام دهید. شارپ با سیستم‌های MacOS، Windows و Linux سازگار است و هنگام استفاده از Node.js نسخه 10 و بالاتر، نیازی به نصب اضافی ندارد.

استخراج تصویر از یک منطقه از طریق جاوا اسکریپت

sharp(input)
  .extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre })
  .resize(width, height)
  .extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost })
  .toFile(output, function(err) {
    // Extract a region, resize, then extract from the resized image
  });

چرخش تصویر از طریق JavaScript API

const rotateThenResize = await sharp(input)
  .rotate(90)
  .resize({ width: 16, height: 8, fit: 'fill' })
  .toBuffer();
const resizeThenRotate = await sharp(input)
  .resize({ width: 16, height: 8, fit: 'fill' })
  .rotate(90)
  .toBuffer();

با فراداده تصویر در برنامه های جاوا اسکریپت کار کنید

کتابخانه واضح منبع باز شامل پشتیبانی کامل برای کار با Image Metadata در برنامه های جاوا اسکریپت است. این کتابخانه دسترسی سریع به ابرداده های تصویر را بدون رمزگشایی داده های پیکسل فشرده فراهم می کند. این شامل پشتیبانی از چندین ویژگی مهم مانند اندازه تصویر، فرمت، ارتفاع، عرض، عمق، تراکم، فضا، سطوح، پس‌زمینه، exif، hasprofile، صفحه و بسیاری موارد دیگر است. همچنین می توانید به راحتی به آمارهای تصویر مشتق شده از پیکسل برای هر کانال در تصویر مانند حداقل، حداکثر، مجموع، میانگین، وضوح، آنتروپی و بسیاری موارد دیگر دسترسی داشته باشید.

دسترسی به فراداده تصویر از طریق جاوا اسکریپت

const image = sharp(inputJpg);
image
  .metadata()
  .then(function(metadata) {
    return image
      .resize(Math.round(metadata.width / 2))
      .webp()
      .toBuffer();
  })
  .then(function(data) {
    // data contains a WebP image half the width and height of the original JPEG
  });
 فارسی