]> 4ch.mooo.com Git - test.git/blob - lib/thumb/thumb.magickwand.php
modified: config.php
[test.git] / lib / thumb / thumb.magickwand.php
1 <?php\r
2 /**\r
3  * Thumbnail Generate API: MagickWand Wrapper\r
4  *\r
5  * 提供程式便於以 MagickWand for PHP 生成預覽圖的物件\r
6  *\r
7  * @package PMCLibrary\r
8  * @version $Id: thumb.magickwand.php 490 2007-07-26 14:36:47Z scribe $\r
9  * @date $Date: 2007-07-26 22:36:47 +0800 (星期四, 26 七月 2007) $\r
10  */\r
11 \r
12 class ThumbWrapper{\r
13         var $sourceFile, $sourceWidth, $sourceHeight, $thumbWidth, $thumbHeight, $thumbQuality;\r
14 \r
15         function ThumbWrapper($sourceFile='', $sourceWidth=0, $sourceHeight=0){\r
16                 $this->sourceFile = $sourceFile;\r
17                 $this->sourceWidth = $sourceWidth;\r
18                 $this->sourceHeight = $sourceHeight;\r
19         }\r
20 \r
21         function getClass(){\r
22                 $str = 'MagickWand Wrapper';\r
23                 if($this->isWorking()){\r
24                         $a = MagickGetVersion(); $b = $a[0];\r
25                         $str .= ' : '.str_replace(strrchr($b, ' '), '', $b);\r
26                         unset($a); unset($b);\r
27                 }\r
28                 return $str;\r
29         }\r
30 \r
31         function isWorking(){\r
32                 return extension_loaded('magickwand') && function_exists('MagickThumbnailImage');\r
33         }\r
34 \r
35         function setThumbnailConfig($thumbWidth, $thumbHeight, $thumbQuality=50){\r
36                 $this->thumbWidth = $thumbWidth;\r
37                 $this->thumbHeight = $thumbHeight;\r
38                 $this->thumbQuality = $thumbQuality;\r
39         }\r
40 \r
41         function makeThumbnailtoFile($destFile){\r
42                 $returnVal = false;\r
43                 if(!$this->isWorking()) return false;\r
44                 $image = NewMagickWand();\r
45                 MagickReadImage($image, $this->sourceFile);\r
46                 MagickSetImageCompressionQuality($image, $this->thumbQuality);\r
47                 MagickThumbnailImage($image, $this->thumbWidth, $this->thumbHeight);\r
48                 $returnVal = MagickWriteImage($image, $destFile);\r
49                 unset($image);\r
50                 return $returnVal;\r
51         }\r
52 }\r
53 ?>