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

相关文章
相关标签/搜索