我正在尝试使用svg原始数据创建svg图像,我从fabric js获取.我使用下面的代码使用svg原始数据生成svg但它无法正常工作.
public function generate_svg($raw_svg='',$prefix='',$folder_name='card_image')
{
$file_name = '';
if($raw_svg!='')
{
try{
$file_name = uniqid($prefix).".svg";
$image = new \Imagick();
$image->readImageBlob($raw_svg);
$image->setImageFormat("svg");
$image->writeImage($folder_name.$file_name);
} catch (ImagickException $ex) {
echo $ex->getMessage();
}
}
return $file_name;
}
Run Code Online (Sandbox Code Playgroud)
现在问题是背景图片有点像下面这样:
那我该怎么做才能解决这个问题呢?
它应该如下所示(忽略方形和圆形),问题是整个背景看起来像黑色而不是bg图像:
所以问题是背景图像没有加载,所以我必须添加额外的库来做那个或其他任何事情?
Imagick版本:6.7.7
convert -list delegate | grep svg
cdr => "uniconvertor' '%i' '%o.svg'; /bin/mv '%o.svg' '%o"
cgm => "uniconvertor' '%i' '%o.svg'; /bin/mv '%o.svg' '%o"
dot => "dot' -Tsvg '%i' -o '%o"
dxf => "uniconvertor' '%i' '%o.svg'; /bin/mv '%o.svg' '%o"
fig => "uniconvertor' '%i' …
Run Code Online (Sandbox Code Playgroud)