PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法

5年以前  |  阅读数:1044 次  |  编程语言:PHP 

一、概述:

本文详解了PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法。
首先要实现PHP使用php_imagick_st-Q8.dll类库,把JPG图片连接生成GIF动画图片,需要事先下载好php_imagick_st-Q8.dll动态链接库文件,并配置php.ini文件,启用php_imagick_st-Q8.dll。

二、配置方法如下:

1、将下载的php_imagick_st-Q8.dll文件放到PHP默认的扩展目录,也就是:php/ext/目录内
2、打开php.ini,在extension区域新加入此行,注意前面不要有";",即:
extension=php_imagick_st-Q8.dll
3、重启apache或IIS

三、PHP实现代码如下:


    <?php
    //定义JPG的图片序列
    $filelist = array(
      '1.jpg',
      '2.jpg',
      '3.jpg',
      '4.jpg'
    );
    $type = 'gif';
    $num = 200;
    $qian = 'new_';
    $path = './gif/';
    $is = 1;
    //生成gif图片的函数
    get_img($filelist, $type, $num, $qian, $path, $is);
    /*
     * get_img 图片合并,生成gif动态
     * $filelist 要合并的图片数组
     * $type 生成的类型
     * $num 生成的帧数
     * $qian 新文件名前缀
     * $path 保持路径
     * $is 是否预览
     */
    function get_img($filelist, $type, $num, $qian, $path, $is)
    {
     //初始化类
     $animation = new Imagick();
     //设置生成的格式
     $animation->setFormat($type);
     foreach ( $filelist as $file ){
     $image = new Imagick();
     $image->readImage( $file );  //合并图片
     $animation->addImage( $image ); //加入到对象
     $animation->setImageDelay($num); //设定图片帧数
     unset( $image );    //清除内存里的图像,释放内存
     }
     //以下两行是调试时用的,测试是否生成了gif图片
     //header( "Content-Type: image/gif" );
     //echo( $animation->getImagesBlob() );
     //生成的GIF文件名组合
     $images = $qian . time(). '.' . $type;
     //生成GIF图片
     $animation->writeImages( $images,true );
     //保存GIF到指定文件夹
     copy($images, $path . $images);
     //是否预览
     if($is)
     {
     echo '已生成gif图片: ' . $images . '<br />';
     echo "<img src='" . $path . $images . "' />";
     }
     else
     {
     echo '已生成gif图片: ' . $images . '<br />';
     }
     //删除原来保存的图片
     unlink($images);
    }
    ?>
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例