微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Laravel 中将图像从 SVG 转换为 PNG

如何解决如何在 Laravel 中将图像从 SVG 转换为 PNG

搜索了很多,但没有找到可行的解决方案。

我一直在尝试将 QRcode SVG 文件转换为 PNG 格式。

以下确实返回一个空的黑色图像,但没有内容。我想将所有内容从 SVG 格式转换为 PNG 格式:

$file = SVG::fromFile(storage_path('app/public/qr_background.svg'));
    $background = $file->getDocument();

    $qrString = QrCode::size('2500')
        ->style('round')
        ->backgroundColor(0,1)
        ->generate( 
            env('FARMCODE_BASE_URL') 
            ? env('FARMCODE_BASE_URL') . $product->id 
            : route('product-landingpage',['product' => $product])
        );
    $qr = SVG::fromString($qrString)->getDocument();
    $qr->getChild(1)->setAttribute('transform',"translate(450,450) scale(44)");
    $background->addChild($qr);

    $name = 'abc.png';
    // Make image with Laravel Invervention package 
    $image = Image::make($file->toRasterImage(2000,2000))->encode('png');
    $headers = [
        'Content-Type' => 'image/png','Content-disposition' => 'attachment; filename='. $name,];
    return response()->stream(function() use ($image) {
        echo $image;
    },200,$headers);

我正在使用 meyfa/PHP-svg simplesoftwareio/simple-qrcodeintervention/image

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。