lienzo-gif
npm i canvas-gif
¿Qué es un lienzo-gif?
canvas-gif es una biblioteca NPM que le permite manipular los fotogramas de GIF usando node-canvas.
canvas-gif ha quedado obsoleto. Rara vez uso Node.js, y mucho menos uso un paquete como este. Si está interesado en hacerse cargo del desarrollo, no dude en bifurcarlo y publicarlo usted mismo. Sin embargo, mi tiempo con esta biblioteca se ha detenido.
¿Cómo funciona?
Funciona siguiendo estas instrucciones:
- Lea el GIF de entrada como un búfer (opcional: fusione el GIF si la opción se ha habilitado y Graphicsmagick está disponible)
- Decodificar el GIF en UInt8Array(s)
- Para cada fotograma del GIF, cree una instancia de lienzo
- Transforme UInt8Array en datos de imagen de lienzo y colóquelos en el contexto
- Pase el contexto y otra información relevante a la función editFrame definida por el usuario que continuará manipulando el contexto.
- Agregue el contexto del marco recién editado al codificador
- Envíe los datos del codificador como un búfer y devuélvalos
¿Cómo puedo hacer uso de él?
Puedes descargarlo usando npm ejecutando
Y luego puedes proceder a usarlo en tu código. Para ver un ejemplo de cómo hacerlo, consulte la carpeta de ejemplo.
Opciones
¡Todas estas opciones son opcionales! Guau
- coalesce : si GraphicsMagick debe fusionar el GIF antes de que el motor lo procese. Requiere la instalación de GraphicsMagick; si no es así y la opción es verdadera, se generará un error y el código continuará con el búfer del archivo original. El valor predeterminado es falso
- retraso : la cantidad de retraso entre cada cuadro en ms. Por defecto es 0
- repetir : cuántas veces debe repetirse el GIF. Si el valor es 0, se repetirá para siempre. Por defecto es 0
- algoritmo : el algoritmo que debe utilizar el codificador. Puede ser uno de neuquant y octree . El valor predeterminado es neuquant
- optimizador : si el codificador debe utilizar su optimizador incorporado. El valor predeterminado es falso
- fps : la cantidad de fotogramas a renderizar por segundo. El valor predeterminado es 60
- calidad : la calidad del GIF. Un valor entre 1 y 100. Cuanto mayor sea el número, mejor calidad será el GIF. El valor predeterminado es 100
Errores comunes
Se produjo un error durante la fusión: la secuencia genera un búfer vacío. ¡Volviendo el búfer al búfer de archivos!
Este error ocurre si la opción de fusión está habilitada pero falta GraphicsMagick. Instálelo desde aquí y, si el error persiste, no dude en informarlo como un problema y haré todo lo posible para ayudarlo.
este proyecto utiliza la licencia queer obstinada v1.1 - tl;dr ver aquí :]
Hacer
- Emisor de retorno para un fácil manejo de eventos