需要轉換.svg文件並以.svg或jpeg格式保存em。 ImageMagick的問題在於它將轉換後的文件保存在白色背景上,並且我透明地致命地需要它。通過PHP幫助轉換.SVG圖像 - Image Magick類似
任何建議與其他工具或清除php?會真的很感激它。
需要轉換.svg文件並以.svg或jpeg格式保存em。 ImageMagick的問題在於它將轉換後的文件保存在白色背景上,並且我透明地致命地需要它。通過PHP幫助轉換.SVG圖像 - Image Magick類似
任何建議與其他工具或清除php?會真的很感激它。
右ImageMagick的命令應該是:
convert -background none somefile.svg somefile.png
您應該使用PNG或GIF的文件格式,因爲JPEG不支持透明度。
在PHP中使用它:
<?php
$svg_file_name = "somefile.svg";
$png_file_name = "somefile.png;
system("convert -background none $svg_file_name $png_file_name");
?>
我懷疑你可以從PHP內很容易地轉換SVG文件。 SVG文件基本上都是XML文件,並且標準是公開的,所以任何人都可以製作一個轉換器...
我喜歡使用外部工具,它比使用腳本語言處理更容易,安全當腳本這麼想的筆者真正知道如何找出命令行開關的應用,以及JPEG文件不支持透明度:)
去convert -background none somefile.svg somefile.png
爲延斯說...
您無法透過JPEG進行透明度處理,但以下是如何將SVG另存爲透明背景的PNG ...
$image = new Imagick();
$image->setBackgroundColor(new ImagickPixel('transparent'));
$image->readImage('somefile.svg');
// ... do any image manipulation you need to here ...
$image->setImageFormat('png32');
$image->writeImage('somefile.png');
JPEG不支持透明度。 – Artefacto 2010-06-25 09:32:30
您實際需要對SVG文件進行什麼樣的轉換? – 2010-06-25 10:22:23