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程序61条面向对象分析设计的经验小结
Nov 12 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
php生成xml时添加CDATA标签的方法
Oct 17 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
PHP实现的简单异常处理类示例
May 04 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP实现网站应用微信登录功能详解
Apr 11 PHP
Laravel中Kafka的使用详解
Mar 24 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 采集程序 常用函数
2008/12/18 PHP
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
PHP制作万年历
2015/01/07 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
JavaScript 变量命名规则
2009/09/23 Javascript
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
Javascript 去除数组的重复元素
2010/05/04 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
js分页代码分享
2014/04/28 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
详谈javascript异步编程
2016/02/21 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
Python实现简单多线程任务队列
2016/02/27 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
Python 内置函数complex详解
2016/10/23 Python
名片管理系统python版
2018/01/11 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
橄榄树药房:OLIVEDA
2019/09/01 全球购物
历史专业个人求职信分享
2013/12/20 职场文书
勤奋学习演讲稿
2014/05/10 职场文书
小学庆六一活动总结
2014/08/28 职场文书
雾霾停课通知
2015/04/24 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS