项目作者: DevSnowflake

项目描述 :
GIF Encoder/Decoder for Canvacord
高级语言: TypeScript
项目地址: git://github.com/DevSnowflake/GIF.git
创建时间: 2021-05-17T12:05:28Z
项目社区:https://github.com/DevSnowflake/GIF

开源协议:

下载


@canvacord/gif

GIF Encoder and Decoder for Canvacord.

Installation

  1. $ npm install --save @canvacord/gif
  2. // or
  3. $ yarn add @canvacord/gif

Examples

Decoding GIF

  1. // es6
  2. import { Decoder } from '@canvacord/gif';
  3. import { readFileSync, createWriteStream } from 'fs';
  4. // cjs
  5. const { Decoder } = require('@canvacord/gif');
  6. const { readFileSync, createWriteStream } = require('fs');
  7. const source = readFileSync('./img.gif');
  8. const decoder = new Decoder(source);
  9. const rawFrames = decoder.decode();
  10. // log raw frames data
  11. console.log(rawFrames);
  12. // get png image of each frame
  13. const pngFrames = decoder.toPNG(rawFrames);
  14. for (let i = 0; i < pngFrames.length; i++) {
  15. const frame = pngFrames[i];
  16. frame.pipe(createWriteStream(`./frame_${i}.png`));
  17. }

Encoding raw frame to GIF

  1. // es6
  2. import { Decoder, Encoder } from '@canvacord/gif';
  3. import { readFileSync, createWriteStream } from 'fs';
  4. // cjs
  5. const { Decoder, Encoder } = require('@canvacord/gif');
  6. const { readFileSync, createWriteStream } = require('fs');
  7. const source = readFileSync('./img.gif');
  8. const decoder = new Decoder(source);
  9. const rawFrames = decoder.decode();
  10. // encode each frames into gif
  11. for (let i = 0; i < rawFrames.length; i++) {
  12. const frame = new Encoder(rawFrames[i]).encode();
  13. frame.pipe(createWriteStream(`./frame_${i}.gif`));
  14. }