Node.js:n nopea ja nopea kuvankäsittelymoduuli
Sharp on kuvankäsittelymoduuli, joka käyttää libvips-kirjastoa Node.js-projektien nopeaan käsittelyyn.
Sharp on nopeasti prosessoiva kuvamoduuli Node.js-projekteille, jotka toimivat libvips-kuvankäsittelykirjastolla. Tämän lisäyksen ansiosta Sharpilla, kuten nimestä voi päätellä, on nopea prosessointiteho, koska se tallentaa vain muutaman alueen pakkaamattomasta kuvadatasta muistiin vapauttaen suuren osan käytetystä suorittimen tehosta ja L1/L2/L3-välimuistista.
Kirjasto varmistaa myös, että lapsiprosesseja ei synny ja asynkronointi- tai odotusprosesseja tuetaan. Avoimen lähdekoodin kuvankäsittelymoduulina Sharp tukee useita kuvaformaatteja ja pakkaamatonta pikselitietoa. Parhaan suorituskyvyn saavuttamiseksi varmista, että käytät Node.js-versiota 10 tai uudempaa.
Sharpin käytön aloittaminen
Suositeltu tapa asentaa Sharp NPM:n kautta. Käytä seuraavaa komentoa asentaaksesi sen.
Asenna Sharp NPM:n kautta
npm install sharp
Muuta kuvien kokoa ilmaisella JavaScript API:lla
Avoimen lähdekoodin terävä kirjasto antaa JavaScript-kehittäjille mahdollisuuden muuttaa kuvien kokoa ohjelmallisesti. Sharpin avulla voit muuntaa suuria kuvaformaatteja pienempiin kokoihin, jotka ovat yhteensopivia eri verkkosovellusten kanssa. Terävän kirjaston avulla Sharpilla on 4–5 kertaa nopeampi kuvankäsittelynopeus verrattuna muihin kuvaformaattimuuntimiin, kuten ImageMagick tai GraphicsMagick. Sharp varmistaa, että Lanczosin uudelleennäytteenottomoduuli ei heikennä kuvan laatua.
Lue ja muuta kuvien kokoa JavaScriptin avulla
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)
Kuvankäsittely ilmaisella JavaScript API:lla
Terävä kirjasto antaa ohjelmistokehittäjille mahdollisuuden käsitellä kuvaa JavaScript-kehyksessä. Voit suorittaa kuvatoimintoja, kuten kuvan koon muuttaminen, kiertäminen, purkaminen, korjaukset ja kompositio. Sharp on yhteensopiva MacOS-, Windows- ja Linux-järjestelmien kanssa, eikä se vaadi lisäasennuksia käytettäessä Node.js-versiota 10 tai uudempaa.
Pura kuva alueelta JavaScriptin avulla
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
});
Kierrä kuvaa JavaScript API:n kautta
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();
Työskentele kuvien metatietojen kanssa JavaScript-sovelluksissa
Avoimen lähdekoodin terävä kirjasto sisältää täyden tuen kuvien metatietojen kanssa työskentelylle JavaScript-sovelluksissa. Kirjasto tarjoaa nopean pääsyn kuvien metatietoihin ilman pakattujen pikselitietojen dekoodausta. Se on sisältänyt tuen useille tärkeille ominaisuuksille, kuten kuvan koko, muoto, korkeus, leveys, syvyys, tiheys, tila, tasot, tausta, exif, hasprofile, sivu ja monet muut. Voit myös helposti käyttää pikselistä johdettuja kuvatilastoja jokaiselle kuvan kanavalle, kuten min, max, summa, keskiarvo, terävyys, entropia ja monet muut.
Käytä kuvien metatietoja JavaScriptin kautta
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
});