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
中国站长站 For Dede4.0 采集规则
May 27 PHP
PHP Socket 编程
Apr 09 PHP
php 求质素(素数) 的实现代码
Apr 12 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
PHP中spl_autoload_register()和__autoload()区别分析
May 10 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
总结PHP中数值计算的注意事项
Aug 14 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
YII框架页面缓存操作示例
Apr 29 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 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/03/27 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
PHP会话处理的10个函数
2015/08/11 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
jquery中get和post的简单实例
2014/02/04 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
js实现漂亮的星空背景
2019/11/01 Javascript
简单说明Python中的装饰器的用法
2015/04/24 Python
Python批量查询域名是否被注册过
2017/06/21 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
基于Python解密仿射密码
2019/10/21 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
杭州龙健科技笔试题.net部分笔试题
2016/01/24 面试题
网络工程师职业规划
2014/02/10 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
中学教师师德承诺书
2014/05/23 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle