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 如何向 MySQL 发送数据
Oct 09 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
一个PHP缓存类代码(附详细说明)
Jun 09 PHP
for循环连续求和、九九乘法表代码
Feb 20 PHP
PHP通过session id 实现session共享和登录验证的代码
Jun 03 PHP
php后台如何避免用户直接进入方法实例
Oct 15 PHP
详解PHP实现执行定时任务
Dec 21 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
php字符集转换
Jan 23 PHP
Laravel5中Cookie的使用详解
May 03 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 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
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
一个PHP模板,主要想体现一下思路
2006/12/25 PHP
用PHP的ob_start();控制您的浏览器cache!
2007/02/14 PHP
通俗易懂的php防注入代码
2010/04/07 PHP
PHP中用正则表达式清除字符串的空白
2011/01/17 PHP
使用php shell命令合并图片的代码
2011/06/23 PHP
PHP错误和异长常处理总结
2014/03/06 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
jQuery 性能优化指南(2)
2009/05/21 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
ExpressJS入门实例
2015/01/14 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
python下如何让web元素的生成更简单的分析
2008/07/17 Python
python杀死一个线程的方法
2015/09/06 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
Python super()方法原理详解
2020/03/31 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
python 数据类型强制转换的总结
2021/01/25 Python
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
大学生自荐信
2013/12/11 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
被告答辩状范文
2015/05/22 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android