Node.JS에서 서버 측 이미지 조작에 어떤 라이브러리를 사용해야합니까? [닫은]


117

Node.JS 위키에서 사용 가능한 라이브러리 목록을 상당히 많이 찾았 지만 어느 것이 더 성숙하고 더 나은 성능을 제공하는지 잘 모르겠습니다. 기본적으로 다음을 수행하고 싶습니다.

  1. 외부 소스에서 서버로 일부 이미지로드
  2. 하나의 큰 캔버스에 올려 놓고
  3. 자르고 조금 가면
  4. 필터 한두 개 적용
  5. 최종 이미지의 크기를 조정하고 링크를 제공합니다.

노드 패키지가 Linux 와 Windows 모두에서 작동한다면 큰 장점이 있습니다.


질문은 이미 여기에 답변했습니다 : stackoverflow.com/questions/4541332/…
DjebbZ

2
2015 : 이것도 합법적 인 것 같습니다 : github.com/oliver-moran/jimp
jmunsch

@jm_____ stackoverflow는 Q & A이자 위키입니다. 더 많은 사람들이 그것을 알아 차릴 수 있도록 대답을 편집하는 것이 자유 롭습니다.
Andrew Андрей Листочкин 2011 년

답변:


184

내 질문에 답하기

Node.js 그래픽 라이브러리를 파헤치는 데 이틀을 보냈습니다.

노드 캔버스

  • <canvas>API에 익숙하기 때문에 먼저 시도했습니다 . 도서관에 큰 장점입니다.
  • 쉬운 Windows 다운로드가없는 Cairo가 필요합니다. 그래도 GTK + 배포판에서 찾았습니다.
  • 또한 모듈 설치시 컴파일 할 네이티브 라이브러리 바인딩 코드가 필요합니다. 아직 Windows로 포팅되지 않은 Node-Waf를 사용합니다.

gm

  • 성숙한
  • Windows에서 원활하게 실행
  • 문서는 괜찮지완전 하지는 않습니다. 어떤 API를 사용할 수 있는지 파악하기 위해 소스 코드를 조사해야했습니다.
  • 불행히도 이미지를 gm과 결합하는 쉬운 방법은 없습니다. 그것을 달성 할 수있는 방법이 있을지 모르지만 나는 그것으로 보낸 두 시간 후에 하나를 찾지 못했습니다.

노드 이미지 매직

  • 공식 저장소에는 다루는 기본 ImageMagick 명령이 거의 없지만 이 포크를 사용 했습니다 (NPM이 git 저장소에서 직접 라이브러리를 가져올 수 있다는 점이 좋습니다). 그것은 montage내가 필요한 것을 정확히 수행하는 바인딩을 가지고 있습니다.
  • ImageMagick은 Windows에서 작동하지만 상당히 느립니다 .

Node-Vips

  • 큰 장점 : 내가 익숙한 놀라운 VIPS 라이브러리 를 사용합니다 . VIPS는 매우 빠르고 큰 이미지에 최적화되어 있습니다. 하드웨어 리소스를 활용하는 것은 매우 현명합니다. 컴퓨터에 RAM이 많으면 모든 처리를 메모리에서 수행하지만 메모리가 부족하거나 다른 응용 프로그램에 필요한 경우 하드 드라이브 캐시로 전환합니다.
  • node-canvas와 마찬가지로 Node-Waf가 필요하므로 아직 Windows에서 사용할 수 없습니다.

나는 또한 목록에서 다른 라이브러리를 살펴 보았지만 대부분은 매우 미숙하거나 내 사용 사례에 적합하지 않습니다. Node-Waf가 Windows로 이식 될 때 Node-Canvas 또는 Node-Vips로 마이그레이션을 시도하고 싶지만 그때까지는 node-imagemagick을 고수 할 것입니다.


44
질문에 답 해주셔서 감사합니다. 대단한 쓰기!
mpen 2013-09-05

Windows에서 gm은 저에게 약간 느리게 보였습니다. gm 실행 파일의 인스턴스를 생성하는 데 부분적으로 걸리는 시간이 부분적이라고 생각합니다.
Gareth Oakley

11
시간이 변경되었고 NODE-Vips는 1 년 이상 업데이트가 없었습니다. 대신 목록 에 Sharp 를 추가하는 것이 좋습니다 . 그것은 또한 VIPS를 사용하고 적극적으로
Simon Fakir

5
요즘이 질문에 발을 들여 놓는 사람들에게 LWIP 는 또 다른 좋은 대안입니다. 외부 종속성이 없으며 node.js C ++ 애드온에 의존합니다.
MaxArt

1
libvips 에 대한 또 다른 노드 바인딩 인 github.com/lovell/sharp는 이제 Windows에서 작동합니다.
jcupitt

6

GraphicsMagick으로 gm 을 확인하는 것이 좋습니다 . 안정적이고 기능이 풍부하고 깨끗한 API, 훌륭한 문서, 빠름.

그리고 그것은 Windows 및 Linux / MacOS / BSD / ...에서 모두 작동합니다.


3

그녀는 GDI + 기반 캔버스 구현에 대한 링크입니다.


1
이 일을 전혀 실행할 수 없습니다. "% 1은 (는) 유효한 Win32 응용 프로그램이 아닙니다"라는 메시지가 표시됩니다.
mpen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.