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 session安全问题分析
Jun 24 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
Feb 27 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 PHP
php开发文档 会员收费1期
Aug 14 PHP
8个必备的PHP功能实例代码
Oct 27 PHP
6种php上传图片重命名的方法实例
Nov 04 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
Nov 04 PHP
PHP实现C#山寨ArrayList的方法
Jul 16 PHP
php计算税后工资的方法
Jul 28 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
laravel使用数据库测试注意事项
Apr 10 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计算给定时间之前的函数用法实例
2015/04/03 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
php面向对象的用户登录身份验证
2017/06/08 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
利用python程序帮大家清理windows垃圾
2017/01/15 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
如何设置Java的运行环境
2013/04/05 面试题
门诊挂号室室长岗位职责
2013/11/27 职场文书
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
高二化学教学反思
2014/01/30 职场文书
班级入场式解说词
2014/02/01 职场文书
买房协议书
2014/04/11 职场文书
会计演讲稿范文
2014/05/23 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
资产移交协议书
2016/03/24 职场文书
分析设计模式之模板方法Java实现
2021/06/23 Java/Android