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 লাইসেন্সের অধীনে রিলিজ করা হয়েছে।