PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法 |
一、概述: 本文详解了PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法 。 二、配置方法如下: 1、将下载的php_imagick_st-Q8.dll文件放到PHP默认的扩展目录,也就是:php/ext/目录内; 三、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); } ?> |