Imagick SVG无法加载图像

发布时间:2022-07-08 / 作者:清心寡欲
本文介绍了Imagick SVG无法加载图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了由PHP Imagick库将SVG转换为图像的问题。 以下是我的代码:

$svg = 'version="1.0" encoding="UTF-8" standalone="no"?>

    
    
';

$im = new Imagick();
$im->readImageBlob($svg);
$im->setImageFormat("jpeg");
$im->writeimage($attached_file);
$im->clear();
$im->destroy();

,结果是一个只有白色背景的图像。没有SVG显示的任何其他图像。

如果我将Text标记放入SVG字符串中,则只有文本以白色背景呈现。图像仍然缺失。

我已经安装了php5-Imagick、libxml2、Librsvg2-bin

是否需要安装其他扩展才能获得正确的结果? 或者我的代码中有什么问题?

推荐答案

我找到了解决方法。我使用base64镜像内容安装镜像路径。

$svg = '
        
        
    ';

function imageToBase64($path) {
    $type = pathinfo($path, PATHINFO_EXTENSION);
    $data = file_get_contents($path);
    return 'data:image/' . $type . ';base64,' . base64_encode($data);
}

如果可能的话,可以使用本地图像或Web URL。

这篇关于Imagick SVG无法加载图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持吉威生活!



[英文标题]Imagick SVG cannot load the image


声明:本媒体部分图片、文章来源于网络,版权归原作者所有,如有侵权,请联系QQ:330946442删除。