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.

Previous Next

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