Skip to content

त्वरित प्रारंभ

यह गाइड आपको 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 के मूल उपयोग से परिचित हो गए हैं, आप कर सकते हैं:

Apache 2.0 लाइसेंस के तहत जारी किया गया।