Gyors és gyors képfeldolgozási modul a Node.js-ben
A Sharp egy képfeldolgozó modul, amely a libvips könyvtárat használja a Node.js projektek gyors feldolgozásához.
A Sharp egy gyors feldolgozó képmodul a Node.js projektekhez, amelyeket a libvips képfeldolgozó könyvtár működtet. Ennek a kiegészítésnek köszönhetően a Sharp, ahogy a név is sugallja, nagy sebességű feldolgozási teljesítménnyel rendelkezik, mivel a tömörítetlen képadatoknak csak néhány régióját tárolja a memóriában, felszabadítva a felhasznált CPU teljesítmény és az L1/L2/L3 gyorsítótár nagy részét.
A könyvtár gondoskodik arról is, hogy ne keletkezzenek gyermekfolyamatok, és az aszinkron vagy várakozási folyamatok is támogatottak legyenek. Nyílt forráskódú képfeldolgozó modulként a Sharp többféle képformátumot és tömörítetlen nyers pixeladatokat is támogat. Az optimális teljesítmény érdekében győződjön meg arról, hogy a Node.js 10-es vagy újabb verzióját használja.
A Sharp első lépései
A Sharp NPM-en keresztüli telepítésének javasolt módja. Kérjük, használja a következő parancsot a telepítéshez.
Telepítse a Sharp-ot NPM-en keresztül
npm install sharp
Képek átméretezése ingyenes JavaScript API-n keresztül
A nyílt forráskódú éles könyvtár lehetővé teszi a JavaScript-fejlesztők számára a képek programozott átméretezését. A Sharp lehetővé teszi a nagy képformátumok kisebb méretűvé alakítását, amelyek kompatibilisek a különböző webes alkalmazásokkal. Az éles könyvtár segítségével a Sharp 4-5-ször gyorsabb képfeldolgozási sebességgel rendelkezik, mint más képformátum-átalakítók, mint például az ImageMagick vagy a GraphicsMagick. A Sharp gondoskodik arról, hogy a képminőséget ne rontsa a Lanczos újramintavételező modulja.
Képek olvasása és átméretezése JavaScript segítségével
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)
Képfeldolgozás ingyenes JavaScript API-n keresztül
Az éles könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy a JavaScript keretrendszerben dolgozzák fel a képet. Olyan képműveleteket hajthat végre, mint a kép átméretezése, elforgatása, kibontása, korrekciója és kompozíciója. A Sharp kompatibilis a MacOS, Windows és Linux rendszerekkel, és nem igényel további telepítést a Node.js 10-es és újabb verzióinak használatakor.
Kép kibontása egy régióból JavaScript segítségével
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
});
Kép elforgatása JavaScript API-n keresztül
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();
Dolgozzon képmetaadatokkal a JavaScript-alkalmazásokban
A nyílt forráskódú éles könyvtár teljes mértékben támogatja a JavaScript alkalmazásokon belüli képmetaadatokkal való munkát. A könyvtár gyors hozzáférést biztosít a kép metaadataihoz anélkül, hogy dekódolná a tömörített pixeladatokat. Számos fontos tulajdonság támogatását tartalmazza, mint például a képméret, formátum, magasság, szélesség, mélység, sűrűség, tér, szintek, háttér, exif, hasprofile, oldal és még sok más. Könnyedén hozzáférhet a képpontokból származó képstatisztikákhoz a kép minden csatornájához, például min, max, összeg, átlag, élesség, entrópia és még sok máshoz.
A kép metaadatainak elérése JavaScripten keresztül
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
});