Hurtig og hurtig billedbehandlingsmodul i Node.js

Sharp er et billedbehandlingsmodul, som bruger libvips-biblioteket til at give hurtig behandling af Node.js-projekter.

Sharp er et billedmodul til hurtig behandling til Node.js-projekter, der drives af libvips billedbehandlingsbibliotek. På grund af denne tilføjelse har Sharp, som navnet antyder, en højhastighedsprocessorkraft, da den kun gemmer nogle få områder af de ukomprimerede billeddata i hukommelsen, hvilket frigør meget af den brugte CPU-kraft og L1/L2/L3-cache

Biblioteket sørger også for, at ingen underordnede processer affødes, og asynkrone eller afventende processer understøttes. Som et open source billedbehandlingsmodul understøtter Sharp også flere billedformater og ukomprimerede rå pixeldata. For optimal ydeevne skal du sørge for at bruge Node.js version 10 og nyere.

Previous Next

Kom godt i gang med Sharp

Den anbefalede måde at installere Sharp på via NPM. Brug venligst følgende kommando til at installere det.

Installer Sharp via NPM

 npm install sharp 

Ændr størrelse på billeder via gratis JavaScript API

Det skarpe open source-bibliotek giver JavaScript-udviklere mulighed for at ændre størrelsen på billeder programmatisk. Sharp giver dig mulighed for at konvertere store billedformater til mindre størrelser, der er kompatible med forskellige webapplikationer. Ved hjælp af det skarpe bibliotek har Sharp en 4 til 5 gange hurtigere billedbehandlingshastighed sammenlignet med andre billedformatkonvertere såsom ImageMagick eller GraphicsMagick. Sharp sikrer, at billedkvaliteten ikke kompromitteres af Lanczos resampling-modul.

Læs og ændre størrelse på billeder 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)

Billedbehandling via gratis JavaScript API

Det skarpe bibliotek gør det muligt for softwareudviklere at behandle billedet i JavaScript-rammerne. Du kan udføre billedhandlinger såsom billedstørrelse, rotation, udtrækning, korrektioner og sammensætning. Sharp er kompatibel med MacOS-, Windows- og Linux-systemer og kræver ingen yderligere installationer, når du bruger Node.js version 10 og nyere.

Uddrag billede fra 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
  });

Roter billede 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();

Arbejd med billedmetadata i JavaScript-apps

Det skarpe open source-bibliotek har inkluderet fuld understøttelse af arbejde med billedmetadata i JavaScript-applikationer. Biblioteket giver hurtig adgang til billedmetadata uden at afkode nogen komprimerede pixeldata. Det har inkluderet understøttelse af flere vigtige egenskaber såsom billedstørrelse, format, højde, bredde, dybde, tæthed, plads, niveauer, baggrund, exif, hasprofile, side og mange flere. Du kan også nemt få adgang til pixel-afledte billedstatistikker for hver kanal i billedet, såsom min, max, sum, middelværdi, skarphed, entropi og mange flere.

Få adgang til billedmetadata 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
  });
 Dansk