Node.JS पर सर्वर-साइड छवि हेरफेर के लिए मुझे किस लाइब्रेरी का उपयोग करना चाहिए? [बन्द है]


117

मुझे Node.JS विकि पर उपलब्ध पुस्तकालयों की एक बहुत बड़ी सूची मिली, लेकिन मुझे यकीन नहीं है कि उनमें से कौन अधिक परिपक्व है और बेहतर प्रदर्शन प्रदान करता है। मूल रूप से मैं निम्नलिखित करना चाहता हूं:

  1. बाहरी स्रोतों से सर्वर पर कुछ छवियों को लोड करें
  2. उन्हें एक बड़े कैनवास पर रखें
  3. फसल और उन्हें थोड़ा सा मुखौटा
  4. एक फ़िल्टर या दो लागू करें
  5. अंतिम छवि का आकार बदलें और उसे लिंक दें

बड़ा प्लस अगर नोड पैकेज लिनक्स और विंडोज दोनों पर काम करता है ।


यहाँ पहले से ही दिया गया प्रश्न: stackoverflow.com/questions/4541332/…
DjebbZ

2
2015: यह भी कानूनी लगता है: github.com/oliver-moran/jimp
jmunsch

@jm_____ स्टैकओवरफ़्लो एक क्यू एंड ए और एक विकी दोनों है। जवाब को संपादित करने के लिए स्वतंत्र महसूस करें ताकि अधिक लोग इसे नोटिस करें।
एंड्रयू Андрей Листочкин

जवाबों:


184

मेरे ही प्रश्न का उत्तर दे रहा हूं

मैंने Node.js ग्राफिक्स लाइब्रेरी के माध्यम से खुदाई करते हुए दो दिन बिताए।

नोड कैनवास

  • मैंने इसे पहले आज़माया था क्योंकि मैं <canvas>एपीआई से काफी परिचित हूँ । यह एक पुस्तकालय के लिए एक बहुत बड़ा धन है।
  • इसके लिए काहिरा की आवश्यकता है जिसमें एक आसान विंडोज डाउनलोड नहीं है। मैंने इसे GTK + वितरण में पाया।
  • इसके अलावा मॉड्यूल इंस्टॉलेशन पर संकलित किए जाने के लिए देशी लाइब्रेरी बाइंडिंग कोड की आवश्यकता होती है। यह Node-Waf का उपयोग करता है जिसे अभी तक विंडोज में पोर्ट नहीं किया गया है।

ग्राम

  • प्रौढ़
  • विंडोज पर आसानी से चलता है
  • डॉक्स ठीक है, लेकिन पूरी तरह से नहीं है: मुझे यह जानने के लिए सोर्स कोड में देखना होगा कि एपीआई क्या उपलब्ध है
  • दुर्भाग्य से ग्राम के साथ छवियों को संयोजित करने का कोई आसान तरीका नहीं है। हो सकता है कि इसे हासिल करने का कोई रास्ता हो, लेकिन इसके साथ बिताए दो घंटे के बाद मुझे एक नहीं मिला।

नोड ImageMagick

  • आधिकारिक रेपो में बहुत कम बेसिक इमेजमैजिक कमांड होते हैं, लेकिन मैंने इस कांटे का इस्तेमाल किया (अच्छी बात यह है कि एनपीएम पुस्तकालयों को सीधे गिट रिपॉजिटरी से खींच सकता है)। इसके लिए बाइंडिंग होती है, montageजिसकी मुझे आवश्यकता होती है।
  • ImageMagick काफी धीमा है , हालाँकि यह विंडोज पर काम करता है।

नोड-अति विशिष्ट व्यक्तियों

  • विशाल प्लस: यह एक अविश्वसनीय VIPS पुस्तकालय का उपयोग करता है, जिससे मैं परिचित हूं। VIPS बहुत तेज़ है और बड़ी छवियों के लिए अनुकूलित है। हार्डवेयर संसाधनों का उपयोग करने के बारे में यह बहुत स्मार्ट है: यदि आपकी मशीन में बहुत अधिक रैम है तो यह मेमोरी में सभी प्रोसेसिंग करेगा लेकिन मेमोरी को अन्य अनुप्रयोगों के लिए दुर्लभ या आवश्यक होने पर हार्ड-ड्राइव कैश में बदल देगा।
  • नोड-कैनवास के समान ही इसे नोड-वाफ की आवश्यकता होती है इसलिए यह विंडोज के लिए अभी तक उपलब्ध नहीं है।

मैंने सूची से अन्य पुस्तकालयों को भी देखा लेकिन उनमें से ज्यादातर या तो बहुत अपरिपक्व हैं या मेरे उपयोग के मामले के अनुरूप नहीं हैं। मैं वास्तव में Node-Canvas या Node-Vips के लिए माइग्रेट करने का प्रयास करना चाहूंगा जब Node-Waf को Windows में पोर्ट किया जाता है, लेकिन तब तक मैं नोड- imagemagick पर चिपका रहूंगा।


44
आपके अपने प्रश्न का उत्तर देने के लिए वापस आने के लिए धन्यवाद। महान लिखना!
म्पेन

विंडोज ग्राम पर मेरे लिए थोड़ा धीमा लग रहा था - हालांकि मुझे लगता है कि यह आंशिक रूप से कितना समय है जब यह ग्राम निष्पादन योग्य उदाहरणों को देखने के लिए ले गया।
गैरेथ ओकले

11
समय बदला और NODE-Vips में 1yr + कोई अद्यतन नहीं था। मैं इसके बजाय तीव्र को सूची में जोड़ने की सलाह देता हूं । यह भी VIPS का उपयोग करता है और सक्रिय रूप से बनाए रखा जाता है: github.com/lovell/sharp
शमौन फकीर

5
इन दिनों इस सवाल पर कदम रखने वालों के लिए, LWIP एक और अच्छा विकल्प है। कोई बाहरी निर्भरता नहीं, यह एक नोड पर निर्भर करता है। Cs + ++ addon।
मैक्सर्ट

1
github.com/lovell/sharp , libvips के लिए एक और नोड बाइंडिंग है, जो अब विंडोज पर काम करता है।
jcupitt

6

मैं दृढ़ता से आपको ग्राफिक्समैगिक के साथ ग्राम की जांच करने की सलाह दूंगा। स्थिर, सुविधा संपन्न, स्वच्छ एपीआई, बढ़िया डॉक्स और तेज।

और यह विंडोज और लिनक्स / मैकओएस / बीएसडी / दोनों पर काम करता है ...


3

वह GDI + पर आधारित कैनवास कार्यान्वयन की कड़ी है


1
मुझे यह बात बिल्कुल नहीं चल सकती। जैसे ही मुझे आवश्यकता होती है मुझे बस "% 1 एक वैध Win32 आवेदन नहीं है"।
एमपीएन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.