त्वरित प्रारंभ
यह गाइड आपको Sharp से तेज़ी से परिचित कराएगा और मूल छवि प्रसंस्करण ऑपरेशन सिखाएगा।
मूल उपयोग
Sharp आयात करें
javascript
import sharp from 'sharp';या CommonJS का उपयोग करें:
javascript
const sharp = require('sharp');छवि पढ़ें
Sharp कई इनपुट प्रारूपों का समर्थन करता है:
javascript
// फ़ाइल से पढ़ें
const image = sharp('input.jpg');
// Buffer से पढ़ें
const image = sharp(buffer);
// Stream से पढ़ें
const image = sharp(stream);मूल ऑपरेशन
आकार बदलना
javascript
// निर्दिष्ट आकार में समायोजित करें
await sharp('input.jpg')
.resize(300, 200)
.toFile('output.jpg');
// पहलू अनुपात बनाए रखें
await sharp('input.jpg')
.resize(300, null) // चौड़ाई 300, ऊंचाई स्वचालित
.toFile('output.jpg');
// विभिन्न फिट मोड का उपयोग करें
await sharp('input.jpg')
.resize(300, 200, {
fit: 'cover', // फिट करने के लिए काटें
position: 'center' // केंद्र में काटें
})
.toFile('output.jpg');प्रारूप रूपांतरण
javascript
// JPEG में रूपांतरित करें
await sharp('input.png')
.jpeg({ quality: 80 })
.toFile('output.jpg');
// WebP में रूपांतरित करें
await sharp('input.jpg')
.webp({ quality: 80 })
.toFile('output.webp');
// PNG में रूपांतरित करें
await sharp('input.jpg')
.png({ compressionLevel: 9 })
.toFile('output.png');काटना
javascript
// निर्दिष्ट क्षेत्र काटें
await sharp('input.jpg')
.extract({ left: 100, top: 100, width: 200, height: 200 })
.toFile('cropped.jpg');घुमाना
javascript
// 90 डिग्री घुमाएं
await sharp('input.jpg')
.rotate(90)
.toFile('rotated.jpg');उन्नत ऑपरेशन
फ़िल्टर प्रभाव
javascript
// धुंधला
await sharp('input.jpg')
.blur(5)
.toFile('blurred.jpg');
// तीक्ष्ण करना
await sharp('input.jpg')
.sharpen()
.toFile('sharpened.jpg');
// ग्रेस्केल
await sharp('input.jpg')
.grayscale()
.toFile('grayscale.jpg');रंग समायोजन
javascript
// चमक समायोजित करें
await sharp('input.jpg')
.modulate({ brightness: 1.2 })
.toFile('bright.jpg');
// कंट्रास्ट समायोजित करें
await sharp('input.jpg')
.modulate({ contrast: 1.5 })
.toFile('contrast.jpg');
// संतृप्ति समायोजित करें
await sharp('input.jpg')
.modulate({ saturation: 0.8 })
.toFile('desaturated.jpg');आउटपुट विकल्प
फ़ाइल में सहेजें
javascript
await sharp('input.jpg')
.resize(300, 200)
.toFile('output.jpg');Buffer में आउटपुट
javascript
const buffer = await sharp('input.jpg')
.resize(300, 200)
.jpeg()
.toBuffer();Stream में आउटपुट
javascript
sharp('input.jpg')
.resize(300, 200)
.jpeg()
.pipe(fs.createWriteStream('output.jpg'));त्रुटि प्रबंधन
javascript
try {
await sharp('input.jpg')
.resize(300, 200)
.toFile('output.jpg');
} catch (error) {
console.error('छवि प्रसंस्करण विफल:', error);
}प्रदर्शन अनुकूलन
स्ट्रीम प्रसंस्करण
javascript
// बड़ी फ़ाइलों के लिए स्ट्रीम का उपयोग करें
const pipeline = sharp()
.resize(300, 200)
.jpeg({ quality: 80 });
fs.createReadStream('large-input.jpg')
.pipe(pipeline)
.pipe(fs.createWriteStream('output.jpg'));समवर्ती प्रसंस्करण
javascript
// एक साथ कई छवियों को संसाधित करें
const promises = images.map(image =>
sharp(image)
.resize(300, 200)
.jpeg()
.toBuffer()
);
const results = await Promise.all(promises);पूर्ण उदाहरण
javascript
import sharp from 'sharp';
import fs from 'fs';
async function processImage() {
try {
// थंबनेल बनाएं
await sharp('input.jpg')
.resize(150, 150, { fit: 'cover' })
.jpeg({ quality: 90 })
.toFile('thumbnail.jpg');
// मध्यम आकार की छवि बनाएं
await sharp('input.jpg')
.resize(800, 600, { fit: 'inside' })
.webp({ quality: 80 })
.toFile('medium.webp');
// बड़ी आकार की छवि बनाएं
await sharp('input.jpg')
.resize(1920, 1080, { fit: 'inside' })
.jpeg({ quality: 85 })
.toFile('large.jpg');
console.log('छवि प्रसंस्करण पूर्ण!');
} catch (error) {
console.error('प्रसंस्करण विफल:', error);
}
}
processImage();अगला कदम
अब जब आप Sharp के मूल उपयोग से परिचित हो गए हैं, आप कर सकते हैं:
- सभी उपलब्ध विधियों को जानने के लिए API दस्तावेज़ देखें
- अधिक तकनीकों को सीखने के लिए उन्नत उदाहरण सीखें
- प्रसंस्करण दक्षता बढ़ाने के लिए प्रदर्शन अनुकूलन जानें