Snabb och snabb bildbehandlingsmodul i Node.js

Sharp är en bildbehandlingsmodul som använder libvips-biblioteket för att ge snabb bearbetning för Node.js-projekt.

Sharp är en bildmodul för snabb bearbetning för Node.js-projekt som drivs av libvips bildbehandlingsbibliotek. På grund av detta tillägg har Sharp som namnet antyder en höghastighetsprocessorkraft eftersom den bara lagrar ett fåtal regioner av okomprimerad bilddata i minnet, vilket frigör mycket av den använda CPU-kraften och L1/L2/L3-cachen

Biblioteket ser också till att inga underordnade processer skapas och asynkrona eller väntande processer stöds. Som en bildbehandlingsmodul med öppen källkod stöder Sharp flera bildformat och okomprimerad rå pixeldata också. För optimal prestanda se till att du använder Node.js version 10 och högre.

Previous Next

Komma igång med Sharp

Det rekommenderade sättet att installera Sharp via NPM. Använd följande kommando för att installera det.

Installera Sharp via NPM

 npm install sharp 

Ändra storlek på bilder via gratis JavaScript API

Det skarpa biblioteket med öppen källkod tillåter JavaScript utvecklare att ändra storlek på bilderna programmatiskt. Sharp låter dig konvertera stora bildformat till mindre storlekar som är kompatibla med olika webbapplikationer. Med hjälp av det skarpa biblioteket har Sharp en 4 till 5 gånger snabbare bildbehandlingshastighet jämfört med andra bildformatkonverterare som ImageMagick eller GraphicsMagick. Sharp säkerställer att bildkvaliteten inte äventyras av Lancers provtagningsmodul.

Läs och ändra storlek på bilder via JavaScript

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)

Bildbehandling via gratis JavaScript API

Det skarpa biblioteket gör det möjligt för mjukvaruutvecklare att bearbeta bilden i JavaScript-ramverket. Du kan utföra bildoperationer som att ändra storlek, rotera, extrahera, korrigera och sammansätta. Sharp är kompatibelt med MacOS, Windows och Linux-system och kräver inga ytterligare installationer när du använder Node.js version 10 och högre.

Extrahera bild från en region via JavaScript

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

Rotera bild via 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();

Arbeta med bildmetadata i JavaScript-appar

Sharp-biblioteket med öppen källkod har inkluderat fullt stöd för att arbeta med bildmetadata i JavaScript-applikationer. Biblioteket ger snabb åtkomst till bildmetadata utan att avkoda någon komprimerad pixeldata. Det har inkluderat stöd för flera viktiga egenskaper som bildstorlek, format, höjd, bredd, djup, densitet, rymd, nivåer, bakgrund, exif, hasprofile, sida och många fler. Du kan också enkelt komma åt pixelhärledd bildstatistik för varje kanal i bilden som min, max, summa, medelvärde, skärpa, entropi och många fler.

Få åtkomst till bildmetadata via JavaScript

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
  });
 Svenska