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 相关文章推荐
火车头采集器3.0采集图文教程
Mar 17 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
PHP下对字符串的递增运算代码
Aug 21 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
php跨域cookie共享使用方法
Feb 20 PHP
PHP is_array() 检测变量是否是数组的实现方法
Jun 13 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
Jul 25 PHP
thinkphp的dump函数无输出实例代码
Nov 15 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
一个实用的php验证码类
Jul 06 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
Laravel基础-关于引入公共文件的两种方式
Oct 18 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魔术引号所带来的安全问题分析
2014/07/15 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
python使用mailbox打印电子邮件的方法
2015/04/30 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
Keras loss函数剖析
2020/07/06 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
详解Anaconda 的安装教程
2020/09/23 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
adidas美国官网:adidas US
2016/09/21 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
如何客观的进行自我评价
2013/12/17 职场文书
舞蹈比赛获奖感言
2014/02/04 职场文书
自主招生自荐信指南
2014/02/04 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
PHP策略模式写法
2021/04/01 PHP
MySQL中varchar和char类型的区别
2021/11/17 MySQL