সার্ভার-সাইড (Node.js) Canvas → PNG ফাইল
ক্লায়েন্ট-সাইডে `canvas.toDataURL()` বা `toBlob()` ব্যবহার হয়। কিন্তু Node.js এনভায়রনমেন্টে (যেমন `canvas` npm প্যাকেজ) স্ট্রিম দিয়ে ফাইল সেভ করা যায়।
প্রি-রিকোয়ার্ড: `canvas` প্যাকেজ ইনস্টল
const { createCanvas } = require('canvas');
const fs = require('fs');
// ১. ক্যানভাস তৈরি ও আঁকা
const canvas = createCanvas(400, 300);
const ctx = canvas.getContext('2d');
ctx.fillStyle = '#ff6b6b';
ctx.fillRect(50, 50, 300, 200);
ctx.font = '30px sans-serif';
ctx.fillStyle = 'white';
ctx.fillText('Hello Canvas!', 100, 180);
// ২. PNG স্ট্রিম তৈরি এবং ফাইলে পাইপ
const out = fs.createWriteStream(__dirname + '/output.png');
const stream = canvas.createPNGStream();
stream.on('data', chunk => out.write(chunk));
stream.on('end', () => console.log('✅ PNG সেভ হয়েছে: output.png'));
stream.on('error', err => console.error('❌ এরর:', err));
ক্লায়েন্ট-সাইড সমতুল্য (ব্রাউজারে)