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]
 */

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);
 

阅读全文>>

转载于:https://my.oschina.net/lgc/blog/5381

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值