холст-гиф
npm i canvas-gif
Что такое холст-гиф?
Canvas-gif — это библиотека NPM, которая позволяет манипулировать кадрами GIF-файлов с помощью node-canvas.
Canvas-gif устарел. Я редко использую Node.js, не говоря уже о том, чтобы мне пригодился такой пакет. Если вы заинтересованы в том, чтобы взять на себя разработку, не стесняйтесь создать форк и опубликовать его самостоятельно. Однако мое время с этой библиотекой подошло к концу.
Как это работает?
Это работает, следуя этим инструкциям:
- Считайте входной GIF как буфер (необязательно: объедините GIF, если эта опция включена и доступна Graphicsmagick)
- Декодируйте GIF в UInt8Array(s)
- Для каждого кадра GIF создайте экземпляр холста.
- Преобразуйте UInt8Array в данные изображения холста и поместите их в контекст.
- Передайте контекст и другую соответствующую информацию определяемой пользователем функции editFrame, которая продолжит манипулировать контекстом.
- Добавьте контекст вновь отредактированного кадра в кодировщик.
- Выведите данные кодировщика в виде буфера и верните их.
Как я могу этим воспользоваться?
Вы можете скачать его с помощью npm, запустив
И затем вы можете приступить к использованию его в своем коде. Пример того, как это сделать, можно найти в папке с примерами.
Параметры
Все эти опции не являются обязательными! ух ты
- слияние — должен ли GIF быть объединен с помощью GraphicsMagick перед обработкой движком. Требуется установка GraphicsMagick — если это не так, и этот параметр имеет значение true, будет выдана ошибка, и код продолжит работу с исходным файловым буфером. По умолчанию ложь
- задержка — величина задержки между каждым кадром в мс. По умолчанию 0
- повтор — Сколько раз должен повторяться GIF. Если значение равно 0, оно будет повторяться вечно. По умолчанию 0
- Алгоритм . Алгоритм, который должен использовать кодер. Может быть одним из neuquant и Octobertree . По умолчанию неуквант
- оптимизатор — должен ли кодировщик использовать встроенный оптимизатор. По умолчанию ложь
- fps — количество кадров, отображаемых в секунду. По умолчанию 60
- качество — качество GIF. Значение от 1 до 100. Чем выше число, тем лучше будет качество GIF. По умолчанию 100
Распространенные ошибки
Во время объединения произошла ошибка: поток возвращает пустой буфер. Возврат буфера в файловый буфер!
Эта ошибка возникает, если включена опция объединения, но отсутствует GraphicsMagick. Пожалуйста, установите его отсюда, и если ошибка не исчезнет, сообщите об этом как о проблеме, и я сделаю все возможное, чтобы помочь!
в этом проекте используется самоуверенная квир-лицензия v1.1 — см. здесь:]
Дела
- Обратный эмиттер для удобной обработки событий