Sharp.js: Ausgabe an verlustfreie Webp -Änderungen vollständig transparenter Pixelfarbe
Posted: 13 Apr 2025, 12:50
Ich schreibe ein Skript, das Bilddateien liest, manipuliert (die Farbe vollständig transparenter Pixel auf reines Schwarz zurücksetzt, die Bilder aufnimmt) und die Exportieren die Ausgabebilder in das verlustfreie Webp . Ich verwende die Sharp.js Bibliothek. console.log (imgbuffer); < /code> gibt:
Hier ist der Code, der den Puffer in eine Bilddatei schreibt:, um Alpha Kanal zu manipulieren). Wie es gesehen wird, haben die vollständig transparenten Pixel unterschiedliche Farben als in der Eingabedatei.>
Code: Select all
Code: Select all
console.log(imgBuffer.slice(imgBuffer.length - 50, imgBuffer.length));< /code> gibt die letzten Bytes an:
Hier ist der Code, der den Puffer in eine Bilddatei schreibt:
Code: Select all
sharp(imgBuffer, {
raw: {
height: bin.height,
width: bin.width,
channels: 4
}})
.webp({ lossless: true, quality: 100, alphaQuality: 100, force: true })
.toFile('output.webp');
< /code>
Das Ausgabebild enthält jedoch "verzerrte" Farben für einige der vollständig transparenten Pixel. < /p>
Hier ist ein Beispiel für eine Eingabedatei. Wie man gesehen wird, haben die vollständig transparenten Pixel eine reine schwarze Farbe (hier verwende ich Gimp