캔버스-gif
npm i canvas-gif
canvas-gif 란 무엇입니까?
canvas-gif는 node-canvas를 사용하여 GIF 프레임을 조작할 수 있는 NPM 라이브러리입니다.
canvas-gif는 더 이상 사용되지 않습니다. 나는 Node.js를 거의 사용하지 않으며 이와 같은 패키지를 사용하는 경우도 있습니다. 개발을 인수하는 데 관심이 있다면 자유롭게 포크하여 직접 게시하세요. 그러나 이 도서관과 함께한 시간은 중단되었습니다.
어떻게 작동하나요?
다음 지침에 따라 작동합니다.
- 입력 GIF를 버퍼로 읽습니다(선택 사항: 옵션이 활성화되어 있고 Graphicsmagick을 사용할 수 있는 경우 GIF를 통합합니다).
- GIF를 UInt8Array로 디코딩
- GIF의 각 프레임에 대해 캔버스 인스턴스를 만듭니다.
- UInt8Array를 캔버스 이미지 데이터로 변환하고 컨텍스트에 넣습니다.
- 컨텍스트를 계속 조작하는 사용자 정의 editFrame 함수에 컨텍스트 및 기타 관련 정보를 전달합니다.
- 새로 편집된 프레임의 컨텍스트를 인코더에 추가
- 인코더의 데이터를 버퍼로 출력하고 반환합니다.
어떻게 활용할 수 있나요?
다음을 실행하여 npm을 사용하여 다운로드할 수 있습니다.
그런 다음 코드에서 계속해서 사용할 수 있습니다. 이를 수행하는 방법에 대한 예는 예제 폴더를 확인하십시오.
옵션
이 옵션은 모두 선택 사항입니다! 우와
- coalesce - 엔진에서 처리하기 전에 GIF를 GraphicsMagick에서 병합해야 하는지 여부입니다. GraphicsMagick을 설치해야 합니다. 그렇지 않고 옵션이 true이면 오류가 발생하고 코드는 원본 파일 버퍼로 계속됩니다. 기본값은 거짓
- 지연 - 각 프레임 간의 지연 시간(ms)입니다. 기본값은 0 입니다.
- 반복 - GIF가 반복되어야 하는 횟수입니다. 값이 0이면 영원히 반복됩니다. 기본값은 0 입니다.
- 알고리즘 - 인코더가 사용해야 하는 알고리즘입니다. neuQuant 및 octree 중 하나일 수 있습니다. 기본값은 뉴퀀트
- 옵티마이저 - 인코더가 내장된 옵티마이저를 사용해야 하는지 여부입니다. 기본값은 거짓
- fps - 초당 렌더링할 프레임 수입니다. 기본값은 60 입니다.
- 품질 - GIF의 품질입니다. 1~100 사이의 값입니다. 숫자가 높을수록 GIF 품질이 좋아집니다. 기본값은 100 입니다.
일반적인 오류
병합 중에 오류가 발생했습니다. 스트림이 빈 버퍼를 생성합니다. 버퍼를 파일 버퍼로 되돌리는 중입니다!
이 오류는 병합 옵션이 활성화되었지만 GraphicsMagick이 누락된 경우 발생합니다. 여기에서 설치해 보세요. 오류가 지속되면 언제든지 문제로 신고해 주세요. 최선을 다해 도와드리겠습니다!
이 프로젝트는 독선적인 퀴어 라이센스 v1.1을 사용합니다 - tl;dr 여기를 참조하세요 :]
할 일