3 * Thumbnail Generate API: ImageMagick Wrapper
\r
5 * 提供程式便於以 ImageMagick 命令列生成預覽圖的物件
\r
7 * @package PMCLibrary
\r
8 * @version $Id: thumb.imagemagick.php 496 2007-08-05 11:16:12Z scribe $
\r
9 * @date $Date: 2007-08-05 19:16:12 +0800 (星期日, 05 八月 2007) $
\r
13 var $sourceFile, $sourceWidth, $sourceHeight, $thumbWidth, $thumbHeight, $thumbQuality;
\r
16 function ThumbWrapper($sourceFile='', $sourceWidth=0, $sourceHeight=0){
\r
17 $this->sourceFile = $sourceFile;
\r
18 $this->sourceWidth = $sourceWidth;
\r
19 $this->sourceHeight = $sourceHeight;
\r
20 $this->_exec = 'convert'; // ImageMagick "convert" Binary Location
\r
23 function getClass(){
\r
24 $str = 'ImageMagick Wrapper';
\r
25 if($this->isWorking()){
\r
27 preg_match('/^Version: ImageMagick (.*?) [hf]/', `$this->_exec -version`, $a);
\r
28 $str .= ' : '.$a[1];
\r
34 function isWorking(){
\r
35 if(!function_exists('exec')) return false;
\r
36 @exec("$this->_exec -version", $status, $retval);
\r
37 return ($retval===0);
\r
40 function setThumbnailConfig($thumbWidth, $thumbHeight, $thumbQuality=50){
\r
41 $this->thumbWidth = $thumbWidth;
\r
42 $this->thumbHeight = $thumbHeight;
\r
43 $this->thumbQuality = $thumbQuality;
\r
46 function makeThumbnailtoFile($destFile){
\r
47 if(!$this->isWorking()) return false;
\r
48 $CLI = "$this->_exec -thumbnail {$this->thumbWidth}x{$this->thumbHeight} -quality $this->thumbQuality \"$this->sourceFile\" \"$destFile\"";
\r