मैं चार्ट.जेएस ग्राफ़िंग लाइब्रेरीज़ का उपयोग करके बनाए गए मेरे चार्ट की प्रति सहेजने का प्रयास कर रहा हूं। जब मैं .png छवि को प्रदर्शित या सहेजने के लिए .toBase64Image() फ़ंक्शन का उपयोग कर रहा हूं तो मुझे एक खाली छवि मिल रही है। मैंने एक आईएमजी टैग में प्रदर्शित करने और PHP के साथ छवि को सहेजने का प्रयास किया है। save64Img छवि को प्रदर्शित/सहेजने के लिए मेरा कार्य है। क्या इस सुविधा का उपयोग कर किसी के पास कोई भाग्य है?खाली पीएनजी छवि। toBase64Image() फ़ंक्शन
lineOptions = {
scaleShowGridLines : true,
scaleGridLineColor : "rgba(0,0,0,.05)",
scaleGridLineWidth : 1,
bezierCurve : false,
pointDot : true,
pointDotRadius : 4,
pointDotStrokeWidth : 1,
pointHitDetectionRadius : 20,
datasetStroke : true,
datasetStrokeWidth : 1,
datasetFill : true,
responsive: true,
scaleOverride : true,
scaleSteps : 5,
scaleStepWidth : 20,
scaleStartValue : 0
}
lineChart = {
labels : label,
datasets : [
{
label: "stat1",
fillColor : "rgba(128,0,0,0.2)",
strokeColor : "rgba(128,0,0,1)",
pointColor : "rgba(128,0,0,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(128,0,0,1)",
data : stat1
},
{
label: "stat2",
fillColor : "rgba(151,187,205,0.2)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(151,187,205,1)",
data : stat2
}
]
};
var myChart = new Chart(ctx).Line(lineChart, lineOptions);
save64Img(myChart.toBase64Image());
----------
<?php
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $img));
file_put_contents('/tmp/image.png', $data);
?>