2017-06-06 69 views
0

我在許多圖像上運行以下Imagemagick命令。某些圖像失敗,但我不確定爲什麼......我如何從ImageMagick和PHP獲取詳細的錯誤消息或錯誤編號以幫助解決故障?Imagemagick用PHP獲取詳細錯誤

$myexec = 'convert -trim -density 200 /path/filename.tif -resize 70% /path/filename.png'; 
exec($myexec, $output, $return); 

if (!$return) { 
//success 
}else{ 
//failed 
} 
+0

您看過$輸出嗎?也許添加一些「詳細」/「細節」類型標誌來轉換? –

+0

$ output是一個大小爲0的數組。 – heyitsmyusername

回答

1

在ImageMagick的,應先讀出的輸入(假設它是光柵圖像,而不是一個矢量圖像),然後設置,然後使用這些設置,則其他設置的運營商。你也應該指定-units。 PNG僅支持像素密度和單位像素百分比。但是,如果您指定像素單位,ImageMagick會自動將密度轉換爲與像素對應的pixelpercentimeter值。要看到任何文本錯誤信息,請嘗試以下操作:

$myexec = "convert /path/filename.tif -trim -resize 70% -units pixelsperinch -density 200 /path/filename.png 2>&1"; 
exec($myexec, $output, $return); 
foreach($output as $text) {echo "$text<br>";} 

您可能還需要之前-trim指定-fuzz XX%,如果背景是不完全一致的。 XX是介於0.0和100.0之間的值

+0

謝謝!我得到了「libgomp:線程創建失敗:資源暫時不可用」,這是我測試失敗的第一個映像。 – heyitsmyusername

+0

我通過在站點.htaccess文件 – heyitsmyusername

+0

內添加「SetEnv MAGICK_THREAD_LIMIT 1」解決了該問題是的,某些Unix OS版本/系統在啓用OpenMP時遇到問題。因此,設置MAGICK_THREAD_LIMIT通常可以解決這個問題,儘管您的處理可能會稍微慢一些。 – fmw42

相關問題