PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
这篇文章主要介绍了PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法,需要的朋友可以参考下
一、概述:
本文详解了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);
- }
- ?>