Node.JS'de sunucu tarafı görüntü işleme için hangi kitaplığı kullanmalıyım? [kapalı]


117

Node.JS wiki'de oldukça geniş bir kullanılabilir kitaplık listesi buldum, ancak hangilerinin daha olgun ve daha iyi performans sağladığından emin değilim. Temel olarak şunları yapmak istiyorum:

  1. bazı görüntüleri harici kaynaklardan bir sunucuya yükleyin
  2. onları büyük bir tuvale koyun
  3. onları biraz kırpın ve maskeleyin
  4. bir veya iki filtre uygulayın
  5. Son görüntüyü yeniden boyutlandırın ve ona bir bağlantı verin

Düğüm paketi hem Linux hem de Windows'ta çalışıyorsa büyük bir artı .


Burada zaten cevaplanan soru: stackoverflow.com/questions/4541332/…
DjebbZ

2
2015: bu da yasal görünüyor: github.com/oliver-moran/jimp
jmunsch

@jm_____ stackoverflow hem bir Soru-Cevap hem de bir wikidir. Daha fazla insanın fark etmesi için cevabı düzenlemekten çekinmeyin.
Andrew Андрей Листочкин

Yanıtlar:


184

Kendi sorumu cevaplıyorum

Node.js grafik kitaplıklarını araştırarak iki gün geçirdim.

Düğüm-tuval

  • <canvas>API'ye aşina olduğum için ilk önce denedim . Bir kütüphane için çok büyük bir artı.
  • Windows yüklemesi kolay olmayan Kahire'yi gerektirir. Yine de GTK + dağıtımında buldum.
  • ayrıca modül kurulumunda derlenmesi için yerel kütüphane bağlama koduna ihtiyaç duyar. Henüz Windows'a taşınmamış olan Node-Waf'ı kullanıyor.

g

  • olgun
  • Windows üzerinde sorunsuz çalışır
  • belgeler iyi ama kapsamlı değil: Hangi API'nin kullanılabildiğini anlamak için kaynak koduna bakmam gerekti
  • ne yazık ki görüntüleri gm ile birleştirmenin kolay bir yolu yok. Belki bunu başarmanın bir yolu vardır ama onunla geçirilen iki saatten sonra bir tane bulamadım.

düğüm imagemagick

  • Resmi depoda kapsanan çok az temel ImageMagick komutu var, ancak bu çatalı kullandım (NPM'nin kitaplıkları doğrudan git depolarından çekebilmesi iyi bir şey). montageTam olarak ihtiyacım olanı yapan bağları var .
  • ImageMagick, Windows'ta çalışmasına rağmen oldukça yavaştır .

Düğüm-Vips

  • Büyük artı: aşina olduğum inanılmaz bir VIPS kitaplığı kullanıyor . VIPS çok hızlıdır ve büyük resimler için optimize edilmiştir. Donanım kaynaklarını kullanmak çok akıllıca: Makinenizde çok fazla RAM varsa, tüm işlemleri bellekte yapacak, ancak bellek yetersizse veya diğer uygulamalar için gerekliyse sabit sürücü önbelleklerine geçecektir.
  • Düğüm tuvaliyle aynı şekilde Node-Waf gerektirir, bu nedenle henüz Windows için mevcut değildir.

Listedeki diğer kitaplıklara da baktım ama çoğu ya çok olgunlaşmamış ya da kullanım durumuma uymuyor. Node-Waf Windows'a taşındığında Node-Canvas veya Node-Vips'e geçiş yapmayı gerçekten denemek isterim ama o zamana kadar node-imagemagick'e bağlı kalacağım.


44
Kendi sorunuzu yanıtlamak için geri geldiğiniz için teşekkür ederiz. Harika bir yazı!
mpen

Windows'da gm benim için biraz yavaş görünüyordu - bunun kısmen gm yürütülebilir kopyalarının ortaya çıkmasının ne kadar sürdüğüne bağlı olduğunu düşünüyorum.
Gareth Oakley

11
Zaman değişti ve NODE-Vips'te 1 yıl + güncelleme yok. Bunun yerine listeye Sharp'ı eklemenizi tavsiye ederim . Ayrıca VIPS kullanır ve aktif olarak korunur: github.com/lovell/sharp
Simon Fakir

5
Bugünlerde bu soruya adım atanlar için , LWIP başka bir iyi alternatiftir. Harici bağımlılık yoktur, bir node.js C ++ eklentisine dayanır.
MaxArt

1
libvips için başka bir düğüm bağlama olan github.com/lovell/sharp, artık Windows'ta çalışıyor.
jcupitt

6

Şiddetle kontrol etmek öneriyorum gram GraphicsMagick ile. Kararlı, zengin özelliklere sahip, temiz API, harika belgeler ve hızlı.

Ve hem Windows hem de Linux / MacOS / BSD / ...


3

O bağlantı GDI + dayanan tuval uygulanmasına


1
Bu şeyi hiç çalıştıramıyorum. Gerektiğinde "% 1 geçerli bir Win32 uygulaması değil" mesajı aldım.
mpen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.