This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Image-Engine

Das @snapotter/image-engine-Paket übernimmt alle Bildoperationen ohne KI. Es kapselt Sharp und läuft vollständig im Prozess ohne externe Abhängigkeiten.

Operationen

resize

Ein Bild auf bestimmte Abmessungen oder um einen Prozentsatz skalieren.

ParameterTypBeschreibung
widthnumberZielbreite in Pixeln
heightnumberZielhöhe in Pixeln
fitstringcover, contain, fill, inside oder outside
withoutEnlargementbooleanWenn true, werden kleinere Bilder nicht hochskaliert
percentagenumberStatt absoluter Abmessungen um einen Prozentsatz skalieren

Du kannst width, height oder beides festlegen. Wenn du nur einen Wert festlegst, wird der andere berechnet, um das Seitenverhältnis beizubehalten.

crop

Einen rechteckigen Bereich aus dem Bild ausschneiden.

ParameterTypBeschreibung
leftnumberX-Versatz vom linken Rand
topnumberY-Versatz vom oberen Rand
widthnumberBreite des Zuschnittbereichs
heightnumberHöhe des Zuschnittbereichs
unitstringpx (Standard) oder percent

rotate

Das Bild um einen bestimmten Winkel drehen.

ParameterTypBeschreibung
anglenumberDrehwinkel in Grad (0-360)
backgroundstringFüllfarbe für den freigelegten Bereich (Standard: #000000). Gilt nur für Winkel, die kein Vielfaches von 90 Grad sind.

flip

Das Bild horizontal, vertikal oder in beide Richtungen spiegeln. Mindestens einer der Werte muss true sein.

ParameterTypBeschreibung
horizontalbooleanVon links nach rechts spiegeln
verticalbooleanVon oben nach unten spiegeln

convert

Das Bildformat ändern.

ParameterTypBeschreibung
formatstringZielformat: jpg, png, webp, avif, tiff, gif, jxl, heic, heif, bmp, ico, jp2, qoi
qualitynumberKomprimierungsqualität (1-100, gilt für verlustbehaftete Formate)

Die ersten sieben Formate (jpg bis jxl) werden von Sharp im Prozess kodiert. Die übrigen Formate verwenden externe Encoder auf der API-Ebene: heic/heif über heif-enc, bmp/ico über ImageMagick, jp2 über opj_compress und qoi über einen Inline-TypeScript-Codec.

compress

Die Dateigröße reduzieren und dabei dasselbe Format beibehalten.

ParameterTypBeschreibung
qualitynumberZielqualität (1-100)
targetSizeBytesnumberOptionale Zieldateigröße in Bytes
formatstringOptionale Überschreibung des Formats

strip-metadata

EXIF-, IPTC-, XMP- und ICC-Metadaten aus dem Bild entfernen. Ohne Parameter (oder mit stripAll: true) wird alles entfernt. Übergib einzelne Flags für ein selektives Entfernen.

ParameterTypBeschreibung
stripAllbooleanAlle Metadaten entfernen (Standard, wenn keine Flags gesetzt sind)
stripExifbooleanEXIF-Daten entfernen (einschließlich GPS, sofern stripGps nicht separat gesetzt ist)
stripGpsbooleanGPS-Standortdaten entfernen
stripIccbooleanICC-Farbprofil entfernen
stripXmpbooleanXMP-Metadaten entfernen

Farbanpassungen

Diese Operationen verändern die Farbeigenschaften eines Bildes. Jede nimmt einen einzelnen numerischen Wert entgegen.

OperationParameterBereichBeschreibung
brightnessvalue-100 bis 100Helligkeit anpassen
contrastvalue-100 bis 100Kontrast anpassen
saturationvalue-100 bis 100Farbsättigung anpassen

Farbfilter

Diese wenden eine feste Farbtransformation an. Sie nehmen keine Parameter entgegen.

OperationBeschreibung
grayscaleIn Graustufen umwandeln
sepiaEinen Sepiaton anwenden
invertAlle Farben invertieren

Farbkanäle

Einzelne RGB-Farbkanäle anpassen. Werte sind Multiplikatoren, wobei 100 = keine Änderung bedeutet.

ParameterTypBeschreibung
rednumberMultiplikator des Rotkanals (0 bis 200, 100 = unverändert)
greennumberMultiplikator des Grünkanals (0 bis 200, 100 = unverändert)
bluenumberMultiplikator des Blaukanals (0 bis 200, 100 = unverändert)

sharpen

Einfaches Schärfen, gesteuert durch einen einzelnen Wert.

ParameterTypBeschreibung
valuenumberSchärfungsintensität (0 bis 100). Abgebildet auf ein Gaußsches Sigma von 0,5-10.

sharpen-advanced

Erweitertes Schärfen mit drei wählbaren Methoden und einem optionalen Rauschunterdrückungs-Vordurchlauf.

ParameterTypBeschreibung
methodstringadaptive, unsharp-mask oder high-pass
sigmanumberRadius der Gaußschen Unschärfe, 0,5-10 (adaptiv)
m1numberSchärfung in flachen Bereichen, 0-10 (adaptiv)
m2numberSchärfung in strukturierten Bereichen, 0-20 (adaptiv)
x1numberSchwelle flach/zackig, 0-10 (adaptiv)
y2numberMaximale Aufhellung (Halo-Begrenzung), 0-50 (adaptiv)
y3numberMaximale Abdunklung (Halo-Begrenzung), 0-50 (adaptiv)
amountnumberIntensität in Prozent, 0-500 (Unschärfemaske)
radiusnumberUnschärferadius, 0,1-5,0 (Unschärfemaske)
thresholdnumberMinimale Kantenhelligkeit, 0-255 (Unschärfemaske)
strengthnumberÜberblendungsstärke, 0-100 (Hochpass)
kernelSizenumber3 oder 5 für 3x3- / 5x5-Kernel (Hochpass)
denoisestringRauschunterdrückungs-Vordurchlauf: off, light, medium oder strong

Die Parameter sind methodenspezifisch. Gib nur die für die gewählte Methode relevanten an.

color-blindness

Eine Farbfehlsichtigkeit mithilfe einer 3x3-Farbrekombinationsmatrix simulieren.

ParameterTypBeschreibung
typestringEines von: protanopia, deuteranopia, tritanopia, protanomaly, deuteranomaly, tritanomaly, achromatopsia, blueConeMonochromacy

edit-metadata

Einzelne EXIF-/IPTC-Metadatenfelder schreiben oder entfernen, ohne den gesamten Block zu entfernen.

ParameterTypBeschreibung
artiststringEXIF-Tag Artist
copyrightstringEXIF-Tag Copyright
imageDescriptionstringEXIF-Tag ImageDescription
softwarestringEXIF-Tag Software
dateTimestringEXIF-Tag DateTime
dateTimeOriginalstringEXIF-Tag DateTimeOriginal
clearGpsbooleanAlle GPS-Tags entfernen
fieldsToRemovestring[]Liste der zu löschenden EXIF-Feldnamen

Alle Parameter sind optional. In fieldsToRemove aufgeführte Felder werden aus dem vorhandenen EXIF-Block gelöscht. Über die benannten Parameter gesetzte Felder werden geschrieben (oder überschrieben). Binäre/unsichere Schlüssel wie MakerNote werden stillschweigend ignoriert.

Formaterkennung

Die Engine erkennt Eingabeformate automatisch anhand der Dateiheader, nicht nur anhand der Dateiendungen. Das bedeutet, dass eine .jpg-Datei, die in Wirklichkeit ein PNG ist, korrekt verarbeitet wird. Die Erkennung verfolgt einen mehrstufigen Ansatz: zuerst die Magic Bytes, dann die Dateiendung als Fallback.

SnapOtter unterstützt 55+ Eingabeformate und 13 Ausgabeformate, darunter 23 Kamera-RAW-Formate von über 20 Marken, professionelle Formate (PSD, EPS, OpenEXR, HDR), moderne Codecs (JPEG XL, AVIF, HEIC, QOI, JPEG 2000) sowie wissenschaftliche/Gaming-Formate (FITS, DDS). Die Dekodierung übernimmt nach Möglichkeit Sharp nativ, mit automatischem Fallback auf ImageMagick, LibRaw und spezialisierte CLI-Decoder.

Die vollständige Liste findest du auf der Seite Unterstützte Formate.

Metadatenextraktion

Das info-Tool gibt Bildmetadaten zurück. Die vollständige Feldreferenz findest du unter Bildinformationen.

json
{
  "filename": "photo.jpg",
  "fileSize": 2450000,
  "width": 4032,
  "height": 3024,
  "format": "jpeg",
  "channels": 3,
  "hasAlpha": false,
  "colorSpace": "srgb",
  "density": 72,
  "isProgressive": false,
  "hasExif": true,
  "hasIcc": true,
  "hasXmp": false,
  "bitDepth": "8",
  "pages": 1,
  "histogram": [
    { "channel": "red", "min": 0, "max": 255, "mean": 128.45, "stdev": 52.31 },
    { "channel": "green", "min": 2, "max": 253, "mean": 115.22, "stdev": 48.76 },
    { "channel": "blue", "min": 0, "max": 250, "mean": 102.89, "stdev": 55.14 }
  ]
}