1
更新:我已經通過在exec
中運行cat
命令並將圖像作爲文本讀取並搜索單詞layer
來計算出問題。它適用於我測試過的所有圖像。如果圖層重命名爲Layer 1
以外,它甚至可以工作。圖片magick TIFF圖層數總是返回1
exec("cat $filename | fgrep -a 'layer'", $ret);
if(!strpos(implode($ret),'layer')){
$layers='false';
}else{
$layers='true';
}
請投票結束,或無論發生在這種情況下。
/////////////////////////////////
我試着如果TIFF文件,找出包含單層或多層,所以我可以在我的數據庫中設置true/false值。問題是不管我做什麼,總是說圖像有一層。我讀得越多,看起來我所做的實際上就是計算一個GIF文件中的圖層數量。任何幫助,將不勝感激
$all=exec("/opt/local/bin/identify -format %w-%h-%x-%z-'%[colorspace]'-'%[channels]'-'%[scenes]' $newfile");
$ex=explode("-",$all);
$width=$ex[0];
$height=$ex[1];
$dpi=$ex[2];
$dpi=explode(" ", $dpi);
$dpi=$dpi[0];
$depth=$ex[3];
$colorspace=$ex[4];
$channels=$ex[5];
$layers=$ex[6];
我所有的變量正常工作,除了$layers
。無論文件有多少層,它都會返回1
。
GIF文件沒有圖層。動畫gif可能有多個框架,但它們不是「圖層」。 – 2011-12-13 17:38:24