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 清除网页病毒的方法
Dec 05 PHP
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
php获取目标函数执行时间示例
Mar 04 PHP
PHP共享内存用法实例分析
Feb 12 PHP
PHP 读取大文件并显示的简单实例(推荐)
Aug 12 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
投票管理程序
2006/10/09 PHP
php数组合并的二种方法
2014/03/21 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
PHP中的self关键字详解
2019/06/23 PHP
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
javascript中clone对象详解
2014/12/03 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
python简单实现AES加密和解密
2019/03/28 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
python增加图像对比度的方法
2019/07/12 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
override和overload的区别
2016/03/09 面试题
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
律师函格式范本
2015/05/27 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
高一作文之暖冬
2019/11/09 职场文书
python实现简单聊天功能
2021/07/07 Python
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android