Node.js-এ দ্রুত এবং দ্রুত ইমেজ প্রসেসিং মডিউল
শার্প হল একটি ইমেজ প্রসেসিং মডিউল যা Libvips লাইব্রেরি ব্যবহার করে Node.js প্রোজেক্টের জন্য দ্রুত প্রসেসিং প্রদান করে।
শার্প হল Node.js প্রোজেক্টের জন্য একটি দ্রুত প্রসেসিং ইমেজ মডিউল যা libvips ইমেজ প্রসেসিং লাইব্রেরি দ্বারা চালিত হয়। এই সংযোজনের কারণে, নাম অনুসারে শার্প-এর উচ্চ গতির প্রক্রিয়াকরণ শক্তি রয়েছে কারণ এটি মেমরিতে অসংকুচিত ইমেজ ডেটার কয়েকটি অঞ্চল সংরক্ষণ করে যা ব্যবহৃত CPU শক্তি এবং L1/L2/L3 ক্যাশে মুক্ত করে।
লাইব্রেরি এটাও নিশ্চিত করে যে কোনো চাইল্ড প্রসেস তৈরি না হয় এবং অ্যাসিঙ্ক বা অপেক্ষা প্রসেস সমর্থিত হয়। একটি ওপেন সোর্স ইমেজ প্রসেসিং মডিউল হিসেবে, শার্প একাধিক ইমেজ ফরম্যাট এবং অপরিশোধিত কাঁচা পিক্সেল ডেটাও সমর্থন করে। সর্বোত্তম কর্মক্ষমতার জন্য নিশ্চিত করুন যে আপনি Node.js সংস্করণ 10 এবং তার উপরে ব্যবহার করছেন।
শার্প দিয়ে শুরু করা
NPM এর মাধ্যমে শার্প ইনস্টল করার প্রস্তাবিত উপায়। এটি ইনস্টল করতে নিম্নলিখিত কমান্ড ব্যবহার করুন.
NPM এর মাধ্যমে শার্প ইনস্টল করুন
npm install sharp
বিনামূল্যে জাভাস্ক্রিপ্ট API এর মাধ্যমে চিত্রের আকার পরিবর্তন করুন
ওপেন সোর্স শার্প লাইব্রেরি জাভাস্ক্রিপ্ট ডেভেলপারদের ইমেজকে প্রোগ্রাম্যাটিকভাবে রিসাইজ করতে দেয়। শার্প আপনাকে বড় ইমেজ ফরম্যাটকে ছোট আকারে রূপান্তর করতে দেয় যা বিভিন্ন ওয়েব অ্যাপ্লিকেশনের সাথে সামঞ্জস্যপূর্ণ। শার্প লাইব্রেরির সাহায্যে, অন্যান্য ইমেজ ফরম্যাট কনভার্টার যেমন ImageMagick বা GraphicsMagick এর তুলনায় Sharp-এর একটি 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)
বিনামূল্যে জাভাস্ক্রিপ্ট API এর মাধ্যমে চিত্র প্রক্রিয়াকরণ
শার্প লাইব্রেরি সফটওয়্যার ডেভেলপারদের জাভাস্ক্রিপ্ট ফ্রেমওয়ার্কে ইমেজ প্রসেস করতে সক্ষম করে। আপনি ইমেজ অপারেশন যেমন ইমেজ রিসাইজিং, রোটেটিং, এক্সট্রাক্টিং, কারেকশন এবং কম্পোজিটিং করতে পারেন। শার্প 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
});
JavaScript API এর মাধ্যমে চিত্র ঘোরান
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();
জাভাস্ক্রিপ্ট অ্যাপে ইমেজ মেটাডেটা নিয়ে কাজ করুন
ওপেন সোর্স শার্প লাইব্রেরিতে জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনের ভিতরে ইমেজ মেটাডেটার সাথে কাজ করার জন্য সম্পূর্ণ সমর্থন অন্তর্ভুক্ত করা হয়েছে। লাইব্রেরি কোনো সংকুচিত পিক্সেল ডেটা ডিকোডিং ছাড়াই ইমেজ মেটাডেটাতে দ্রুত অ্যাক্সেস প্রদান করে। এটি বেশ কয়েকটি গুরুত্বপূর্ণ বৈশিষ্ট্যের জন্য সমর্থন অন্তর্ভুক্ত করেছে যেমন চিত্রের আকার, বিন্যাস, উচ্চতা, প্রস্থ, গভীরতা, ঘনত্ব, স্থান, স্তর, পটভূমি, exif, প্রোফাইল, পৃষ্ঠা এবং আরও অনেক কিছু। এছাড়াও আপনি সহজেই ইমেজের প্রতিটি চ্যানেলের জন্য পিক্সেল থেকে প্রাপ্ত চিত্র পরিসংখ্যান অ্যাক্সেস করতে পারেন যেমন মিন, সর্বোচ্চ, যোগফল, গড়, তীক্ষ্ণতা, এনট্রপি এবং আরও অনেক কিছু।
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
});