Image類的擴展,可編輯GIF動畫圖片,須要Magick支持.

/**
 * 定義 Myclass_Magick
 *
 * MagicWand_Info :  
 * ---------------------------
 * ImageMagick 官網地址 [url]http://www.imagemagick.org/script/index.php[/url]
 * MagickWand For PHP Manual [url]http://www.magickwand.org/[/url]
 * MagickWand For PHP模塊下載地址 [url]http://www.magickwand.org/download/php/[/url]
 */php

class Myclass_Magick 
{
        function Myclass_Magick() {
                if( !function_exists('newmagickwand') ) {
                        die('no MagickImage extends! ');
                }
        }        
        
        /**
         * 生成動態GIF
         * 
         * @param array  $fileName: 目標文件地址 
         * @param int    $delay:    GIF幀過渡時間
         * @param string $desName:  生成後的圖像文件名
         *
         */
         function createGif($fileName, $delay=1, $desName='') {
                 $desName = $this->getDesName($desName);
                $mw = NewMagickWand();
                for($i=0; $i
                        $mwTemp = NewMagickWand();
                        MagickReadImage($mwTemp,$fileName[$i]);
                        MagickSetImageDelay($mwTemp,$delay*100);  //100=1秒
                        MagickAddImage($mw,$mwTemp);
                        DestroyMagickWand($mwTemp);
                }
                MagickSetFormat($mw,"gif");
                MagickWriteImages($mw,$desName,MagickTrue);
                $mw = DestroyMagickWand($mw);         
                return $desName;
        }
        
        /**
         * 縮放 動態GIF
         * 
         * @param string $fileName: 目標文件地址 
         * @param int    $width:    生成後的圖像寬度
         * @param int    $height:        生成後的圖像高度
         * @param string $desName:  生成後的圖像名稱
         *
         */
        function resizeGif($fileName, $width, $height, $desName='') 
        {
                 $desName = $this->getDesName($desName);
                $mw = NewMagickWand();
                MagickReadImage($mw,$fileName);
                MagickResetIterator($mw);
                //MagickNextImage($mw);
                do {
                        $iw = MagickGetImageWidth($mw);
 
post

閱讀全文>>this

相關文章
相關標籤/搜索