Chart.js থেকে PNG/JPEG ফরম্যাটে চার্ট এক্সপোর্ট করা

Chart.js এর মাধ্যমে ডেটা এক্সপোর্ট - চার্টজেএস (Chart.js) - Web Development

268

Chart.js-এ আপনি সহজেই আপনার চার্টকে PNG বা JPEG ফরম্যাটে এক্সপোর্ট করতে পারেন। এটি ব্যবহারকারীদের জন্য চার্টের একটি ছবির ফাইল তৈরি করতে সহায়ক হতে পারে, যা তারা ডাউনলোড করে রাখতে বা শেয়ার করতে পারে। Chart.js এর toBase64Image() পদ্ধতি ব্যবহার করে চার্টকে PNG বা JPEG ফরম্যাটে এক্সপোর্ট করা সম্ভব।

এই গাইডে আমরা দেখবো কিভাবে PNG বা JPEG ফরম্যাটে চার্ট এক্সপোর্ট করা যায়।


1. PNG ফরম্যাটে চার্ট এক্সপোর্ট করা

Chart.js চার্টকে PNG ফরম্যাটে এক্সপোর্ট করার জন্য toBase64Image() পদ্ধতি ব্যবহার করা হয়। এই পদ্ধতি আপনাকে চার্টের একটি Base64 ইনকোডেড ইমেজ রিটার্ন করে, যা আপনি PNG ফরম্যাটে ডাউনলোড বা প্রিভিউ করতে ব্যবহার করতে পারেন।

উদাহরণ: Chart.js থেকে PNG এক্সপোর্ট করা

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Export Chart as PNG</title>
</head>
<body>
    <canvas id="myChart" width="400" height="200"></canvas>
    <button id="downloadPNG">Download as PNG</button>

    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <script>
        const ctx = document.getElementById('myChart').getContext('2d');
        const myChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: ['Red', 'Blue', 'Yellow', 'Green'],
                datasets: [{
                    label: '# of Votes',
                    data: [12, 19, 3, 5],
                    backgroundColor: 'rgba(75, 192, 192, 0.2)',
                    borderColor: 'rgba(75, 192, 192, 1)',
                    borderWidth: 1
                }]
            },
            options: {
                responsive: true,
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });

        // PNG Download Functionality
        document.getElementById('downloadPNG').addEventListener('click', function() {
            const imageUrl = myChart.toBase64Image(); // Convert chart to PNG
            const link = document.createElement('a'); // Create an anchor element
            link.href = imageUrl; // Set the href to the image URL
            link.download = 'chart.png'; // Set download attribute to specify filename
            link.click(); // Trigger the download
        });
    </script>
</body>
</html>

ব্যাখ্যা:

  1. toBase64Image(): এই পদ্ধতিটি চার্টের ইমেজ হিসেবে Base64 ইনকোডেড PNG রিটার্ন করে।
  2. download attribute: লিঙ্কের download অ্যাট্রিবিউট ব্যবহার করে আপনি ইমেজের নাম এবং ফরম্যাট নির্ধারণ করতে পারেন।
  3. link.click(): এটি ব্যবহারকারীর জন্য ছবিটি ডাউনলোড করার প্রক্রিয়া শুরু করে।

2. JPEG ফরম্যাটে চার্ট এক্সপোর্ট করা

Chart.js এ JPEG ফরম্যাটে চার্ট এক্সপোর্ট করার জন্য toBase64Image() পদ্ধতি ব্যবহার করা যেতে পারে, তবে আপনাকে canvas.toDataURL() মেথডে MIME টাইপ পরিবর্তন করে JPEG ফরম্যাট ব্যবহার করতে হবে।

উদাহরণ: Chart.js থেকে JPEG এক্সপোর্ট করা

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Export Chart as JPEG</title>
</head>
<body>
    <canvas id="myChart" width="400" height="200"></canvas>
    <button id="downloadJPEG">Download as JPEG</button>

    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <script>
        const ctx = document.getElementById('myChart').getContext('2d');
        const myChart = new Chart(ctx, {
            type: 'line',
            data: {
                labels: ['January', 'February', 'March', 'April'],
                datasets: [{
                    label: 'Sales Data',
                    data: [12, 19, 3, 5],
                    borderColor: 'rgba(75, 192, 192, 1)',
                    fill: false
                }]
            },
            options: {
                responsive: true,
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });

        // JPEG Download Functionality
        document.getElementById('downloadJPEG').addEventListener('click', function() {
            const imageUrl = myChart.toBase64Image('image/jpeg'); // Convert chart to JPEG
            const link = document.createElement('a'); // Create an anchor element
            link.href = imageUrl; // Set the href to the image URL
            link.download = 'chart.jpeg'; // Set download attribute to specify filename
            link.click(); // Trigger the download
        });
    </script>
</body>
</html>

ব্যাখ্যা:

  • toBase64Image('image/jpeg'): এই পদ্ধতি image/jpeg MIME টাইপ প্রদান করে JPEG ফরম্যাটে চার্ট রেন্ডার করবে।
  • download attribute: JPEG ফাইলের নাম নির্ধারণ করার জন্য।

3. চিত্রের গুণমান কাস্টমাইজ করা

Chart.js এর মাধ্যমে JPEG ফরম্যাটে এক্সপোর্টের ক্ষেত্রে আপনি ইমেজের গুণমানও কাস্টমাইজ করতে পারেন। এটি toDataURL() পদ্ধতির দ্বিতীয় প্যারামিটার হিসেবে গুণমানের মান গ্রহণ করে (0 থেকে 1 পর্যন্ত, যেখানে 1 হলো সর্বোচ্চ গুণমান)।

উদাহরণ: JPEG এক্সপোর্টের গুণমান কাস্টমাইজ করা

const imageUrl = myChart.toBase64Image('image/jpeg', 0.7); // JPEG গুণমান 0.7

এখানে, 0.7 গুণমানের মান নির্ধারণ করছে (যেটি 0 থেকে 1 এর মধ্যে হতে পারে), যাতে চিত্রের আকার ছোট রাখা যায়।


4. চার্ট এক্সপোর্টের জন্য ডাউনলোড বাটন তৈরি করা

আপনার ওয়েব পেজে একটি ডাউনলোড বাটন যোগ করে ব্যবহারকারীদের চার্ট ইমেজ ডাউনলোড করতে দেয়ার জন্য download অ্যাট্রিবিউট ব্যবহার করা যেতে পারে। এটি একটি ব্যবহারকারী-বান্ধব পদ্ধতি।

উদাহরণ: এক্সপোর্ট বাটন দিয়ে PNG/JPEG এক্সপোর্ট

<button id="downloadChartPNG">Download PNG</button>
<button id="downloadChartJPEG">Download JPEG</button>

এবং JavaScript কোড:

document.getElementById('downloadChartPNG').addEventListener('click', function() {
    const imageUrl = myChart.toBase64Image(); // PNG এক্সপোর্ট
    const link = document.createElement('a');
    link.href = imageUrl;
    link.download = 'chart.png'; // PNG নাম
    link.click();
});

document.getElementById('downloadChartJPEG').addEventListener('click', function() {
    const imageUrl = myChart.toBase64Image('image/jpeg'); // JPEG এক্সপোর্ট
    const link = document.createElement('a');
    link.href = imageUrl;
    link.download = 'chart.jpeg'; // JPEG নাম
    link.click();
});

সারাংশ

Chart.js দিয়ে PNG এবং JPEG ফরম্যাটে চার্ট এক্সপোর্ট করা খুবই সহজ। আপনি toBase64Image() পদ্ধতি ব্যবহার করে ইমেজ তৈরি করতে পারেন এবং download অ্যাট্রিবিউট সহ একটি ডাউনলোড লিঙ্ক ব্যবহার করে ব্যবহারকারীকে চার্টের ছবি ডাউনলোড করার সুযোগ দিতে পারেন। এই পদ্ধতি বিশেষত যখন চার্ট ডেটার গ্রাফিক্স প্রয়োজন হয় এবং ব্যবহারকারীকে তা শেয়ার করতে হবে তখন খুবই কার্যকর।

Content added By
Promotion

Are you sure to start over?

Loading...