Node.js में त्वरित और तेज़ इमेज प्रोसेसिंग मॉड्यूल
Sharp एक इमेज प्रोसेसिंग मॉड्यूल है जो Node.js प्रोजेक्ट्स के लिए तेजी से प्रोसेसिंग प्रदान करने के लिए libvips लाइब्रेरी का उपयोग करता है।
शार्प Node.js प्रोजेक्ट्स के लिए एक तेज़ प्रोसेसिंग इमेज मॉड्यूल है जो libvips इमेज प्रोसेसिंग लाइब्रेरी द्वारा संचालित है। इस जोड़ के कारण, नाम की तरह शार्प में एक उच्च गति प्रसंस्करण शक्ति होती है क्योंकि यह केवल मेमोरी में असम्पीडित छवि डेटा के कुछ क्षेत्रों को संग्रहीत करता है जो उपयोग की गई CPU शक्ति और L1/L2/L3 कैश को मुक्त करता है।
लाइब्रेरी यह भी सुनिश्चित करती है कि कोई भी चाइल्ड प्रोसेस स्पॉन न हो और एसिंक्स या प्रतीक्षित प्रोसेस समर्थित हों। ओपन सोर्स इमेज प्रोसेसिंग मॉड्यूल के रूप में, शार्प कई छवि प्रारूपों और असम्पीडित कच्चे पिक्सेल डेटा का भी समर्थन करता है। इष्टतम प्रदर्शन के लिए सुनिश्चित करें कि आप Node.js संस्करण 10 और इसके बाद के संस्करण का उपयोग कर रहे हैं।
शार्प के साथ शुरुआत करना
एनपीएम के माध्यम से तीव्र स्थापित करने का अनुशंसित तरीका। कृपया इसे स्थापित करने के लिए निम्न आदेश का उपयोग करें।
एनपीएम के माध्यम से तीव्र स्थापित करें
npm install sharp
नि:शुल्क जावास्क्रिप्ट एपीआई के माध्यम से छवियों का आकार बदलें
ओपन सोर्स तेज पुस्तकालय JavaScript डेवलपर्स को प्रोग्रामेटिक रूप से छवियों का आकार बदलने की अनुमति देता है। तीव्र आपको बड़े छवि प्रारूपों को छोटे आकार में बदलने की अनुमति देता है जो विभिन्न वेब अनुप्रयोगों के साथ संगत हैं। तेज पुस्तकालय की मदद से, शार्प में ImageMagick या GraphicsMagick जैसे अन्य छवि प्रारूप कन्वर्टर्स की तुलना में 4 से 5 गुना तेज छवि प्रसंस्करण गति है। तीव्र यह सुनिश्चित करता है कि छवि की गुणवत्ता लैंसर्स सैंपलिंग मॉड्यूल से समझौता नहीं है।
जावास्क्रिप्ट के माध्यम से छवियों को पढ़ें और उनका आकार बदलें
const transformer = sharp()
.resize({
width: 200,
height: 200,
fit: sharp.fit.cover,
position: sharp.strategy.entropy
});
// Read image data from readableStream
// Write 200px square auto-cropped image data to writableStream
readableStream
.pipe(transformer)
.pipe(writableStream)
नि: शुल्क जावास्क्रिप्ट एपीआई के माध्यम से छवि प्रसंस्करण
तेज पुस्तकालय सॉफ्टवेयर डेवलपर्स को जावास्क्रिप्ट ढांचे में छवि को संसाधित करने में सक्षम बनाता है। आप इमेज ऑपरेशंस जैसे इमेज रीसाइज़िंग, रोटेटिंग, एक्सट्रैक्टिंग, करेक्शन और कंपोज़िटिंग कर सकते हैं। Sharp MacOS, Windows और Linux सिस्टम के साथ संगत है और Node.js संस्करण 10 और इसके बाद के संस्करण का उपयोग करते समय किसी अतिरिक्त इंस्टॉलेशन की आवश्यकता नहीं है।
जावास्क्रिप्ट के माध्यम से एक क्षेत्र से छवि निकालें
sharp(input)
.extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre })
.resize(width, height)
.extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost })
.toFile(output, function(err) {
// Extract a region, resize, then extract from the resized image
});
जावास्क्रिप्ट एपीआई के माध्यम से छवि घुमाएँ
const rotateThenResize = await sharp(input)
.rotate(90)
.resize({ width: 16, height: 8, fit: 'fill' })
.toBuffer();
const resizeThenRotate = await sharp(input)
.resize({ width: 16, height: 8, fit: 'fill' })
.rotate(90)
.toBuffer();
JavaScript ऐप्स में छवि मेटाडेटा के साथ कार्य करें
ओपन सोर्स शार्प लाइब्रेरी में जावास्क्रिप्ट एप्लिकेशन के अंदर इमेज मेटाडेटा के साथ काम करने के लिए पूर्ण समर्थन शामिल है। पुस्तकालय किसी भी संकुचित पिक्सेल डेटा को डीकोड किए बिना छवि मेटाडेटा तक त्वरित पहुंच प्रदान करता है। इसमें छवि आकार, प्रारूप, ऊंचाई, चौड़ाई, गहराई, घनत्व, स्थान, स्तर, पृष्ठभूमि, एक्सिफ, हैप्रोफाइल, पृष्ठ, और कई अन्य जैसे कई महत्वपूर्ण गुणों के लिए समर्थन शामिल है। आप छवि में प्रत्येक चैनल जैसे न्यूनतम, अधिकतम, योग, माध्य, कुशाग्रता, एन्ट्रॉपी, और बहुत कुछ के लिए पिक्सेल-व्युत्पन्न छवि आंकड़ों तक आसानी से पहुंच सकते हैं।
जावास्क्रिप्ट के माध्यम से छवि मेटाडेटा तक पहुंचें
const image = sharp(inputJpg);
image
.metadata()
.then(function(metadata) {
return image
.resize(Math.round(metadata.width / 2))
.webp()
.toBuffer();
})
.then(function(data) {
// data contains a WebP image half the width and height of the original JPEG
});