保存由Google Chart API创建的PNG文件

时间:2018-09-25 10:57:23

标签: php google-api imagecreatefrompng

使用Google API创建了QR码(是的,我知道它已弃用) 但是我似乎无法保存生成的图像。 如果我单击图像并尝试保存,只会保存一个PHP文件

任何想法??

这是代码

$data = isset($_GET['data']) ? $_GET['data'] : 'FGS Ingredients';
$size = isset($_GET['size']) ? $_GET['size'] : '300x300';
$logo = 'fgsqrcodelogo.png';
header('Content-type: image/png');
// Get QR Code image from Google Chart API
// http://code.google.com/apis/chart/infographics/docs/qr_codes.html
$QR = imagecreatefrompng('https://chart.googleapis.com/chart?cht=qr&chld=H|1&chs='.$size.'&chl='.urlencode($data));
if($logo !== FALSE){
    $logo = imagecreatefromstring(file_get_contents($logo));
    $QR_width = imagesx($QR);
    $QR_height = imagesy($QR);

    $logo_width = imagesx($logo);
    $logo_height = imagesy($logo);

    // Scale logo to fit in the QR Code
    $logo_qr_width = $QR_width/3;
    $scale = $logo_width/$logo_qr_width;
    $logo_qr_height = $logo_height/$scale;

    imagecopyresampled($QR, $logo, $QR_width/3, $QR_height/3, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
}
imagepng($QR);
imagedestroy($QR);
file_put_contents('myfile.png',$QR);

1 个答案:

答案 0 :(得分:0)

解决了... 刚刚添加

$name = str_replace(' ','-',$data);
$save = "". strtolower($name) .".png";
then changed to imagepng($QR,$save);