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