দ্রুত শুরু
এই গাইড আপনাকে 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 ডকুমেন্টেশন দেখুন সব উপলব্ধ মেথড জানতে
- উন্নত উদাহরণ শিখুন আরও কৌশল আয়ত্ত করতে
- পারফরমেন্স অপ্টিমাইজেশন জানুন প্রসেসিং দক্ষতা বাড়াতে