我正在運行ImageMagick 6.7.4-0和Imagick 3.0.1。爲什麼我從SVG中讀取ImageMagick/Imagick設置時總是崩潰?
我擁有SVG所需的所有代表(輸出convert -list configure | grep DELEGATES
顯示bzlib djvu fontconfig freetype gvc jpeg jng jp2 lcms lqr openexr png rsvg tiff x11 xml wmf zlib
)。
下面是一些示例PHP代碼到一個非常簡單的SVG轉換成PNG:
$file = 'baseball.svg';
$im = new Imagick();
$im->readImage($file);
$im->setImageFormat("png32");
header("Content-Type: image/png");
print $im->getImageBlob();
我從服務器503響應; PHP什麼都不報告並且什麼都不記錄我已啓用所有PHP錯誤,啓用顯示錯誤,啓用日誌錯誤等,我可以從.png轉換爲.jpg和所有這些都很好。
還有一個重要的提示 - 我可以在這臺服務器上使用SVG幾個月,但是我必須將ImageMagick從6.6.x升級到6.7.x才能獲得與文本相關的一些錯誤失真。我第一次嘗試最新版本(6.7.4-10),但無法獲得任何轉換工作,所以我降級到6.7.4-0和所有轉換除了SVG再次工作。我只是無法分類這一個!
編輯:在Ubuntu 10.04上運行。服務器是Litespeed 4.0.10。
編輯2:我剛剛發現此代碼 - 命令行(php test.php
)運行時 - 實際上並創建從.SVG完美的巴紐,即使它報告「分段故障」。從瀏覽器運行此腳本不會生成任何文件。
$file = 'baseball.svg';
$im = new Imagick();
$im->setBackgroundColor(new ImagickPixel('transparent'));
$im->readImage($file);
$im->setImageFormat("png32");
$fp = fopen(time() . '.png', 'w');
fwrite($fp, $im->getimageblob());
fclose($fp);
我假設你正在運行linux - 哪個發行版? – Crontab 2012-01-27 19:26:53
好問題!讓我修改主要問題... – 2012-01-27 19:35:34