기본 npm 패키지에 대해 모르겠으나 gifsicle을 사용할 수 있습니다.
Gifsicle은 GIF 이미지와 애니메이션에 대한 정보를 만들고 편집하고 가져 오는 명령 줄 도구입니다. https://davidwalsh.name/resize-animated-gif
예 1 : 나는 gifsicle의 바이너리 파일 설치 gifsicle
모듈을 사용 :
이 gifsicle 사용하여 애니메이션 GIF의 크기를 조정에 대한 좋은 기사입니다
const { execFile } = require('child_process');
const gifsicle = require('gifsicle');
console.time('execute time');
// You can use these options for resizing:
// --scale 0.5
// --resize-fit-width 300
// --resize-fit-height 200
// --resize 300x200
execFile(gifsicle, ['--resize-fit-width', '300', '-o', 'output.gif', 'input.gif'], err => {
console.timeEnd('execute time');
if (err) {
throw err;
}
console.log('image resized!');
});
예 2 :spawn
메서드를 사용하면 읽을 수있는 스트림을 얻을 수 있습니다.
const fs = require('fs');
const { spawn } = require('child_process');
const gifsicle = require('gifsicle');
console.time('execute time');
const stream = spawn(gifsicle, ['--resize-fit-width', '300', 'input.gif']);
stream.on('close',() => {
console.timeEnd('execute time');
console.log('image resized!');
});
stream.stdout.pipe(fs.createWriteStream('output.gif'));