Leinwand-GIF
npm i canvas-gif
Was ist Canvas-GIF?
Canvas-Gif ist eine NPM-Bibliothek, mit der Sie die Frames von GIFs mithilfe von Node-Canvas bearbeiten können.
Canvas-Gif ist veraltet. Ich verwende Node.js selten, geschweige denn, dass ich ein Paket wie dieses verwenden kann. Wenn Sie daran interessiert sind, die Entwicklung zu übernehmen, können Sie es gerne teilen und selbst veröffentlichen. Meine Zeit mit dieser Bibliothek ist jedoch zum Stillstand gekommen.
Wie funktioniert es?
Es funktioniert, indem Sie diese Anweisungen befolgen:
- Lesen Sie das Eingabe-GIF als Puffer (optional: GIF zusammenfügen, wenn die Option aktiviert wurde und Graphicsmagick verfügbar ist)
- Dekodieren Sie das GIF in UInt8Array(s)
- Erstellen Sie für jeden Frame im GIF eine Canvas-Instanz
- Wandeln Sie das UInt8Array in Canvas-Bilddaten um und fügen Sie es in den Kontext ein
- Übergeben Sie den Kontext und andere relevante Informationen an die benutzerdefinierte editFrame-Funktion, die den Kontext weiter bearbeitet.
- Fügen Sie den Kontext des neu bearbeiteten Frames zum Encoder hinzu
- Geben Sie die Daten des Encoders als Puffer aus und geben Sie sie zurück
Wie kann ich davon Gebrauch machen?
Sie können es mit npm herunterladen, indem Sie es ausführen
Und Sie können es dann in Ihrem Code verwenden. Ein Beispiel dafür finden Sie im Beispielordner.
Optionen
Alle diese Optionen sind optional! Wow
- „coalesce“ – Ob das GIF von GraphicsMagick zusammengeführt werden soll, bevor es von der Engine verarbeitet wird. Erfordert die Installation von GraphicsMagick. Wenn dies nicht der Fall ist und die Option „true“ ist, wird ein Fehler ausgegeben und der Code wird mit dem ursprünglichen Dateipuffer fortgesetzt. Der Standardwert ist „false“.
- Verzögerung – Die Verzögerung zwischen den einzelnen Frames in ms. Der Standardwert ist 0
- wiederholen – Wie oft das GIF wiederholt werden soll. Wenn der Wert 0 ist, wird es für immer wiederholt. Der Standardwert ist 0
- Algorithmus – Der Algorithmus, den der Encoder verwenden soll. Kann eine von neuquant und octree sein. Standardmäßig ist Neuquant
- Optimierer – Ob der Encoder seinen integrierten Optimierer verwenden soll. Der Standardwert ist „false“.
- fps – Die Anzahl der Bilder, die pro Sekunde gerendert werden sollen. Der Standardwert ist 60
- Qualität – Die Qualität des GIF. Ein Wert zwischen 1 und 100. Je höher die Zahl, desto besser ist die Qualität des GIF. Der Standardwert ist 100
Häufige Fehler
Beim Zusammenführen ist ein Fehler aufgetreten: Stream ergibt leeren Puffer. Puffer wird auf Dateipuffer zurückgesetzt!
Dieser Fehler tritt auf, wenn die Koaleszenzoption aktiviert ist, Ihnen aber GraphicsMagick fehlt. Bitte installieren Sie es von hier aus. Wenn der Fehler weiterhin besteht, können Sie ihn gerne als Problem melden. Ich werde mein Bestes geben, um Ihnen zu helfen!
Dieses Projekt verwendet die Opinionated Queer License v1.1 - tl;dr siehe hier :]
Zu erledigen
- Return-Emitter für einfache Ereignisbehandlung