]> 4ch.mooo.com Git - test.git/blobdiff - lib/thumb/thumb.magickwand.php
modified: .gitignore
[test.git] / lib / thumb / thumb.magickwand.php
diff --git a/lib/thumb/thumb.magickwand.php b/lib/thumb/thumb.magickwand.php
new file mode 100755 (executable)
index 0000000..4256b2f
--- /dev/null
@@ -0,0 +1,53 @@
+<?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