Node.JS 위키에서 사용 가능한 라이브러리 목록을 상당히 많이 찾았 지만 어느 것이 더 성숙하고 더 나은 성능을 제공하는지 잘 모르겠습니다. 기본적으로 다음을 수행하고 싶습니다.
- 외부 소스에서 서버로 일부 이미지로드
- 하나의 큰 캔버스에 올려 놓고
- 자르고 조금 가면
- 필터 한두 개 적용
- 최종 이미지의 크기를 조정하고 링크를 제공합니다.
노드 패키지가 Linux 와 Windows 모두에서 작동한다면 큰 장점이 있습니다.
답변
내 질문에 답하기
Node.js 그래픽 라이브러리를 파헤치는 데 이틀을 보냈습니다.
<canvas>
API에 익숙하기 때문에 먼저 시도했습니다 . 도서관에 큰 장점입니다.- 쉬운 Windows 다운로드가없는 Cairo가 필요합니다. 그래도 GTK + 배포판에서 찾았습니다.
- 또한 모듈 설치시 컴파일 할 네이티브 라이브러리 바인딩 코드가 필요합니다. 아직 Windows로 포팅되지 않은 Node-Waf를 사용합니다.
- 성숙한
- Windows에서 원활하게 실행
- 문서는 괜찮지 만 완전 하지는 않습니다. 어떤 API를 사용할 수 있는지 파악하기 위해 소스 코드를 조사해야했습니다.
- 불행히도 이미지를 gm과 결합하는 쉬운 방법은 없습니다. 그것을 달성 할 수있는 방법이 있을지 모르지만 나는 그것으로 보낸 두 시간 후에 하나를 찾지 못했습니다.
- 공식 저장소에는 다루는 기본 ImageMagick 명령이 거의 없지만 이 포크를 사용 했습니다 (NPM이 git 저장소에서 직접 라이브러리를 가져올 수 있다는 점이 좋습니다). 그것은
montage
내가 필요한 것을 정확히 수행하는 바인딩을 가지고 있습니다. - ImageMagick은 Windows에서 작동하지만 상당히 느립니다 .
- 큰 장점 : 내가 익숙한 놀라운 VIPS 라이브러리 를 사용합니다 . VIPS는 매우 빠르고 큰 이미지에 최적화되어 있습니다. 하드웨어 리소스를 활용하는 것은 매우 현명합니다. 컴퓨터에 RAM이 많으면 모든 처리를 메모리에서 수행하지만 메모리가 부족하거나 다른 응용 프로그램에 필요한 경우 하드 드라이브 캐시로 전환합니다.
- node-canvas와 마찬가지로 Node-Waf가 필요하므로 아직 Windows에서 사용할 수 없습니다.
나는 또한 목록에서 다른 라이브러리를 살펴 보았지만 대부분은 매우 미숙하거나 내 사용 사례에 적합하지 않습니다. Node-Waf가 Windows로 이식 될 때 Node-Canvas 또는 Node-Vips로 마이그레이션을 시도하고 싶지만 그때까지는 node-imagemagick을 고수 할 것입니다.