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是否预览 */ functionget_img($filelist,$type,$num,$qian,$path,$is) { //初始化类 $animation=newImagick(); //设置生成的格式 $animation->setFormat($type); foreach($filelistas$file){ $image=newImagick(); $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"<imgsrc='".$path.$images."'/>"; } else { echo'已生成gif图片:'.$images.'<br/>'; } //删除原来保存的图片 unlink($images); } ?>