Path: blob/master/node_modules/@jimp/gif/src/index.js
2593 views
import GIF from 'omggif';1import { GifUtil, GifFrame, BitmapImage, GifCodec } from 'gifwrap';23const MIME_TYPE = 'image/gif';45export default () => ({6mime: { [MIME_TYPE]: ['gif'] },78constants: {9MIME_GIF: MIME_TYPE10},1112decoders: {13[MIME_TYPE]: data => {14const gifObj = new GIF.GifReader(data);15const gifData = Buffer.alloc(gifObj.width * gifObj.height * 4);1617gifObj.decodeAndBlitFrameRGBA(0, gifData);1819return {20data: gifData,21width: gifObj.width,22height: gifObj.height23};24}25},2627encoders: {28[MIME_TYPE]: data => {29const bitmap = new BitmapImage(data.bitmap);30GifUtil.quantizeDekker(bitmap, 256);31const newFrame = new GifFrame(bitmap);32const gifCodec = new GifCodec();33return gifCodec.encodeGif([newFrame], {}).then(newGif => {34return newGif.buffer;35});36}37}38});394041