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 简单数组排序实现代码
Aug 05 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
PHP获取MSN好友列表类的实现代码
Jun 23 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
Jun 26 PHP
php记录代码执行时间(实现代码)
Jul 05 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 PHP
php设置页面超时时间解决方法
Sep 22 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
PDO::errorCode讲解
Jan 28 PHP
Yii2 queue的队列使用详解
Jul 19 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 include的妙用,实现路径加密
2008/07/29 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Python检查ping终端的方法
2019/01/26 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
三年级数学教学反思
2014/01/31 职场文书
大学军训感言200字
2014/02/26 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
感谢信模板大全
2015/01/23 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
创业计划书之书店
2019/09/10 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL