Schnelles und schnelles Bildverarbeitungsmodul in Node.js

Sharp ist ein Bildverarbeitungsmodul, das die libvips-Bibliothek verwendet, um eine schnelle Verarbeitung für Node.js-Projekte bereitzustellen.

Sharp ist ein schnell verarbeitetes Bildmodul für Node.js-Projekte, das mit der Bibliothek zur Bearbeitung von libris-Bildern betrieben wird. Sharp, wie der Name andeutet, hat eine hohe Geschwindigkeitsverarbeitungsleistung, da es nur wenige Regionen der komprimierten Bilddaten im Speicher speichert, der einen Großteil der verwendeten CPU-Leere und den Cache L1/L2/L2/L2/L3 Cache.

Die Bibliothek stellt auch sicher, dass keine untergeordneten Prozesse erzeugt werden und asynchrone oder wartende Prozesse unterstützt werden. Als Open-Source-Bildverarbeitungsmodul unterstützt Sharp mehrere Bildformate und auch unkomprimierte Pixel-Rohdaten. Stellen Sie für eine optimale Leistung sicher, dass Sie Node.js Version 10 und höher verwenden.

Previous Next

Erste Schritte mit Sharp

Der empfohlene Weg, Sharp über NPM zu installieren. Bitte verwenden Sie den folgenden Befehl, um es zu installieren.

Installieren Sie Sharp über NPM

 npm install sharp 

Ändern Sie die Bildgröße über die kostenlose JavaScript-API

Die Open Source scharfe Bibliothek erlaubt JavaScript Entwicklern, die Bilder grammatisch zu verändern. Mit Sharp können Sie große Bildformate in kleinere Formate konvertieren, die mit verschiedenen Webanwendungen kompatibel sind. Mit Hilfe der scharfen Bibliothek hat Sharp eine 4 bis 5 mal schnellere Bildverarbeitungsgeschwindigkeit als andere Bildformatwandler wie ImageMagick oder GraphicsMagick. Sharp stellt sicher, dass die Bildqualität nicht durch das Abtastmodul Lancers beeinträchtigt wird.

Lesen & Resize Images 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)

Bildverarbeitung über kostenlose JavaScript-API

Die scharfe Bibliothek ermöglicht es Software-Entwicklern, das Bild im JavaScript Rahmen zu verarbeiten. Sie können Bildoperationen wie Residing, Rotation, Extrahieren, Korrekturen und Komposition durchführen. Sharp ist kompatibel mit MacOS, Windows und Linux Systemen und erfordert keine zusätzlichen Installationen, wenn Sie die Version 10 von Node.js und höher verwenden.

Extrahiertes Bild aus einer 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
  });

Bild über JavaScript-API drehen

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

Arbeit mit Image-Metadaten in JavaScript Apps

Die Open Source scharfe Bibliothek hat die volle Unterstützung für die Arbeit mit Image Metadata in JavaScript Anwendungen enthalten. Die Bibliothek bietet schnellen Zugriff auf Bild-Metadaten, ohne komprimierte Pixeldaten zu dekodieren. Es hat Unterstützung für mehrere wichtige Eigenschaften wie Bildgröße, Format, Höhe, Breite, Tiefe, Dichte, Raum, Niveaus, Hintergrund, Ausgang, dsprofile, Seite und vieles mehr. Sie können für jeden Kanal des Bildes, wie min, max, sum, Mittel, Schärfe, Entropie und vieles mehr, leicht auf die pixelförmige Bildstatistik zugreifen.

Zugriff auf Image Metadaten über 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
  });
 Deutsch