+<?php\r
+/**\r
+ * Thumbnail Generate API: MagickWand Wrapper\r
+ *\r
+ * 提供程式便於以 MagickWand for PHP 生成預覽圖的物件\r
+ *\r
+ * @package PMCLibrary\r
+ * @version $Id: thumb.magickwand.php 490 2007-07-26 14:36:47Z scribe $\r
+ * @date $Date: 2007-07-26 22:36:47 +0800 (星期四, 26 七月 2007) $\r
+ */\r
+\r
+class ThumbWrapper{\r
+ var $sourceFile, $sourceWidth, $sourceHeight, $thumbWidth, $thumbHeight, $thumbQuality;\r
+\r
+ function ThumbWrapper($sourceFile='', $sourceWidth=0, $sourceHeight=0){\r
+ $this->sourceFile = $sourceFile;\r
+ $this->sourceWidth = $sourceWidth;\r
+ $this->sourceHeight = $sourceHeight;\r
+ }\r
+\r
+ function getClass(){\r
+ $str = 'MagickWand Wrapper';\r
+ if($this->isWorking()){\r
+ $a = MagickGetVersion(); $b = $a[0];\r
+ $str .= ' : '.str_replace(strrchr($b, ' '), '', $b);\r
+ unset($a); unset($b);\r
+ }\r
+ return $str;\r
+ }\r
+\r
+ function isWorking(){\r
+ return extension_loaded('magickwand') && function_exists('MagickThumbnailImage');\r
+ }\r
+\r
+ function setThumbnailConfig($thumbWidth, $thumbHeight, $thumbQuality=50){\r
+ $this->thumbWidth = $thumbWidth;\r
+ $this->thumbHeight = $thumbHeight;\r
+ $this->thumbQuality = $thumbQuality;\r
+ }\r
+\r
+ function makeThumbnailtoFile($destFile){\r
+ $returnVal = false;\r
+ if(!$this->isWorking()) return false;\r
+ $image = NewMagickWand();\r
+ MagickReadImage($image, $this->sourceFile);\r
+ MagickSetImageCompressionQuality($image, $this->thumbQuality);\r
+ MagickThumbnailImage($image, $this->thumbWidth, $this->thumbHeight);\r
+ $returnVal = MagickWriteImage($image, $destFile);\r
+ unset($image);\r
+ return $returnVal;\r
+ }\r
+}\r
+?>
\ No newline at end of file