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导入Excel到MySQL的方法
Apr 23 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
PHP工程师VIM配置分享
Dec 15 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
PHP JWT初识及其简单示例
Oct 10 PHP
php+ajax实现商品对比功能示例
Apr 13 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
如何获得PHP相关资料
2006/10/09 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
node.js中 stream使用教程
2016/08/28 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
了解重排与重绘
2019/05/29 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
简单介绍Python中利用生成器实现的并发编程
2015/05/04 Python
Python实现简单截取中文字符串的方法
2015/06/15 Python
Python中取整的几种方法小结
2017/01/06 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python监控文件并且发送告警邮件
2018/06/21 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
迪卡侬(Decathlon)加拿大官网:源自法国的运动专业超市
2020/11/22 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
八年级物理教学反思
2014/01/19 职场文书
先进事迹报告会感言
2014/01/24 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
工厂车间标语
2014/06/19 职场文书
老干部工作汇报材料
2014/10/28 职场文书
会计求职自荐信范文
2015/03/04 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python