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


Posted in PHP onJuly 11, 2014

一、概述:

本文详解了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 相关文章推荐
如何在PHP中进行身份认证
Oct 09 PHP
用PHP连接MySQL代码的参数说明
Jun 07 PHP
php函数实现判断是否移动端访问
Mar 03 PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 PHP
PHP5.2下preg_replace函数的问题
May 08 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
PHP+redis实现添加处理投票的方法
Nov 14 PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 PHP
round robin权重轮循算法php实现代码
May 28 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
Oct 16 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
php事务处理实例详解
Jul 11 #PHP
PHP实现显示照片exif信息的方法
Jul 11 #PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 #PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 #PHP
ThinkPHP标签制作教程
Jul 10 #PHP
YII路径的用法总结
Jul 09 #PHP
YII实现分页的方法
Jul 09 #PHP
You might like
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
一句话JavaScript表单验证代码
2009/08/02 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
select2 ajax 设置默认值,初始值的方法
2018/08/09 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
python清空命令行方式
2020/01/13 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
2014年元旦促销活动方案
2014/02/22 职场文书
调研汇报材料范文
2014/08/17 职场文书
Redis性能监控的实现
2021/07/09 Redis