使用PHP将JPG / PNG转换为SVG格式

时间:2013-12-11 11:08:06

标签: php svg png jpeg

如何使用PHP将JPG / PNG转换为SVG?

我知道它不会被矢量化,但我需要它以SVG格式。

我不想使用除PHP以外的任何其他软件。

这样的事情:

<?php

$image_to_cenvert = 'image.jpg';

$content = file_get_contents($image_to_cenvert);

$svg_file = fopen('image.svg','w+');

fputs($svg_file,$content);
fclose($svg_file);

?>

2 个答案:

答案 0 :(得分:2)

您可以通过 php 将 PNG/JPEG 嵌入到 SVG。看那里。

<?php
$file = __DIR__ . $path2image;
$path = pathinfo($file);
$ext = mb_strtolower($path['extension']);
 
if (in_array($ext, array('jpeg', 'jpg', 'gif', 'png', 'webp'))) {     
    $size = getimagesize($file);  
    $img = 'data:' . $size['mime'] . ';base64,' . base64_encode(file_get_contents($file));
}
?>
 
<img src="<?php echo $img; ?>">

如果类型 == svg

$img = 'data:image/svg+xml;base64,' . base64_encode(file_get_contents($file));

答案 1 :(得分:1)

我知道你实现这一目标的唯一机会就是使用imagick库,但可用的格式取决于设置,所以如果你在共享服务器上是不可能的。

http://php.net/manual/en/book.imagick.php

在这里:      Convert SVG image to PNG with PHP

你可以找到一个关于如何将SVG图像转换为png的例子,你需要做的是你的想象库不可能创建和操作svg文件来修改链接中的脚本...