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

时间:2021-05-26

一、概述:

本文详解了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);}?>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章