Node.js-də Tez və Sürətli Şəkil Emalı Modulu

Sharp, Node.js layihələri üçün sürətli emal təmin etmək üçün libvips kitabxanasından istifadə edən şəkil emal moduludur.

Sharp libvips təsvir emalı kitabxanası ilə təchiz edilmiş Node.js layihələri üçün sürətli emal şəkil moduludur. Bu əlavə sayəsində Sharp, adından da göründüyü kimi yüksək sürətli emal gücünə malikdir, çünki o, sıxılmamış təsvir məlumatlarının yalnız bir neçə bölgəsini yaddaşda saxlayır və istifadə olunan CPU gücünün və L1/L2/L3 önbelleğinin çox hissəsini azad edir.

Kitabxana həmçinin heç bir uşaq prosesinin yaranmadığına və asinxron və ya gözləmə proseslərinin dəstəklənməsinə əmin olur. Açıq mənbəli təsvir emalı modulu olaraq, Sharp çoxlu şəkil formatlarını və sıxılmamış xam piksel məlumatlarını da dəstəkləyir. Optimal performans üçün Node.js 10 və yuxarı versiyadan istifadə etdiyinizə əmin olun.

Previous Next

Sharp ilə işə başlamaq

NPM vasitəsilə Sharp-ı quraşdırmanın tövsiyə olunan yolu. Quraşdırmaq üçün aşağıdakı əmrdən istifadə edin.

NPM vasitəsilə Sharp-ı quraşdırın

 npm install sharp 

Pulsuz JavaScript API vasitəsilə şəkillərin ölçüsünü dəyişdirin

Açıq mənbəli kəskin kitabxana JavaScript tərtibatçılarına proqramlı şəkildə şəkillərin ölçüsünü dəyişməyə imkan verir. Sharp sizə böyük şəkil formatlarını müxtəlif veb proqramları ilə uyğun gələn daha kiçik ölçülərə çevirməyə imkan verir. Sharp kitabxanasının köməyi ilə Sharp, ImageMagick və ya GraphicsMagick kimi digər şəkil formatı çeviriciləri ilə müqayisədə 4-5 dəfə daha sürətli təsvirin emal sürətinə malikdir. Sharp görüntü keyfiyyətinin Lanczos yenidən nümunələşdirmə modulu tərəfindən pozulmamasını təmin edir.

JavaScript vasitəsilə şəkilləri oxuyun və ölçüsünü dəyişdirin

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)

Pulsuz JavaScript API vasitəsilə Şəkil Emalı

Keskin kitabxana proqram tərtibatçılarına təsviri JavaScript çərçivəsində emal etməyə imkan verir. Şəklin ölçüsünü dəyişmək, fırlatmaq, çıxarmaq, düzəlişlər etmək və birləşdirmək kimi təsvir əməliyyatlarını yerinə yetirə bilərsiniz. Sharp MacOS, Windows və Linux sistemləri ilə uyğun gəlir və Node.js Versiya 10 və yuxarı versiyaları istifadə edərkən heç bir əlavə quraşdırma tələb etmir.

JavaScript vasitəsilə Bölgədən Şəkil çıxarın

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 vasitəsilə Şəkili Döndürün

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();

JavaScript Tətbiqlərində Şəkil Metaməlumatları ilə işləyin

Açıq mənbəli kəskin kitabxana JavaScript proqramları daxilində Image Metadata ilə işləmək üçün tam dəstəyi ehtiva edir. Kitabxana sıxılmış piksel məlumatlarını deşifrə etmədən şəkil metadatasına sürətli çıxışı təmin edir. O, şəkil ölçüsü, formatı, hündürlüyü, eni, dərinliyi, sıxlığı, boşluq, səviyyələr, fon, exif, hasprofile, səhifə və daha çox kimi bir neçə vacib xüsusiyyət üçün dəstəyi ehtiva edir. Siz həmçinin min, maks, cəm, orta, kəskinlik, entropiya və sair kimi görüntüdəki hər bir kanal üçün pikseldən əldə edilən şəkil statistikasına asanlıqla daxil ola bilərsiniz.

JavaScript vasitəsilə Şəkil Metadatasına daxil olun

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
  });
 Azəri