一、概述:

本文详解了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实现代码如下:

//定义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 . '
';

echo "";

}

else

{

echo '已生成gif图片: ' . $images . '
';

}

//删除原来保存的图片

unlink($images);

}

?>

php imagick gif,PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法相关推荐

  1. python3 opencv 基于二值化图像素投影的图片切割方法

    对于一些背景纯色,结构相对简单的图,可以利用传统的opencv图像处理进行分割.先来记录一下基于二值化图像素投影的图片切割方法的实现.比如下面这张图,可以利用这个算法进行切割.(源代码在最后面) 切割 ...

  2. 操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权

    系列文章 操作系统权限提升(十二)之绕过UAC提权-Windows UAC概述 操作系统权限提升(十三)之绕过UAC提权-MSF和CS绕过UAC提权 操作系统权限提升(十四)之绕过UAC提权-基于白名 ...

  3. 缺少d3dx9_xx.dll/缺少PhysXLoader.dll/配置不正确等常见问题解决方法

    缺少d3dx9_xx.dll/缺少PhysXLoader.dll/配置不正确等常见问题解决方法 http://www.gamersky.com 2010-7-10 16:11:14 来源:游民星空 作 ...

  4. 基于深度学习方法的3D数据合成

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 3D 数据简介 人们普遍认为,从单一角度合成 3D 数据是人类视觉的基本功能.但这对计算机视觉算法来说 ...

  5. flash写保护原理_一种基于flash写保护的防止flash被意外篡改的方法与流程

    本发明属linux嵌入式芯片安全技术领域于领域,尤其是涉及一种nandflash写保护应用方法. 背景技术: 目前很多公司都纷纷尝试智能设备(sd,smartdevice)领域,sd设备功能越来越多, ...

  6. 图.exe 已触发了一个断点。 出现了_学术简报︱基于保护综合重要度的最小断点集优选方法...

    云南电力调度控制中心的研究人员蒋红亮,在2019年第10期<电气技术>杂志上撰文,为实现复杂环网整定配合起始点的合理选择,提出了一种基于保护综合重要度的最小断点集优选方法. 首先,定义了反 ...

  7. csharp通过dll调用opencv函数,图片作为参数

    [blog 项目实战派]csharp通过dll调用opencv函数,图片作为参数          ​一直想做着方面的研究,但是因为这个方面的知识过于小众,也是由于自己找资料的能力比较弱,知道今天才找 ...

  8. iic裸机与linux通信,基于IIC协议的Linux操作系统与裸机通信的方法

    主权项: 1.一种基于IIC协议的Linux操作系统与裸机通信的方法,其特征在于,包括如下步骤:步骤S1,对采用Linux系统的多个硬件和裸机同时挂载在总线上,包括:配置一个主机设备和多个从机设备,每 ...

  9. python怎么安装pyecharts_基于Python安装pyecharts所遇的问题及解决方法

    最近学习到数据可视化内容,老师推荐安装pyecharts,于是pip install 了一下,结果...掉坑了,下面是我的跳坑经验,如果你有类似问题,希望对你有所帮助. 第一个坑: 这个不难理解,缺少 ...

最新文章

  1. 手机上最小的Linux,Linux没有最小只有更小----361M以下的Linux名单
  2. 进程间通信(IPC)+进程加锁解锁
  3. 250php货币,FreeHostia免费PHP空间中文面板250MB空间6GB流量
  4. SHELL TIPS: GNU SCREEN 的一些小技巧
  5. 列宽一字符等于多少厘米_Excel中行高与列宽单位和厘米的转换
  6. 魔兽世界插件开发:Beginning Lua with World of Warcraft Add-ons 中文翻译及学习 (1.1)
  7. 计算机启动的基本指令,电脑启动项命令大全【详解】
  8. 物联网工程专业该怎么学?老学长吐血整理!!
  9. linux自动wifi断开重连,49.Linux-wpa_cli使用之WIFI开启,扫描热点,连接热点,断开热点,WIFI关闭(49)...
  10. VCN 在windows和linux之间 复制粘贴
  11. 更换JDK然后打不开eclipse的解决方法
  12. VBS病毒(弹窗病毒)
  13. c语言无符号整型越界,整型输出越界问题
  14. [转载] 罗辑思维的「成功」之道
  15. php网易云信如何使用,如何使用网易云信实现匿名聊天
  16. MATLAB的M文件、MEX文件、MAT文件是什么 .如何打开(直接鼠标拖入相应区域)
  17. 《配电网自动化技术》第一章
  18. 杀软测评通报:“AV-Test”最新一轮测试结果及与“VB100”认证
  19. html交互界面怎么写,HTML5 BIOS字符交互界面模拟
  20. 阿里云对象存储OSS打造私人图床私人云存储(1年仅9元)

热门文章

  1. 中序遍历+后序/先序遍历构建二叉树
  2. 【Teradata】系统吞吐量重要参数QPS(TPS)、并发数、响应时间
  3. Linux系统瓶颈分析(经典)
  4. Anaconda, conda, pyenv, virtualenv的区别
  5. 挑战练习题2.3动态规划 poj3046 Ant Counting dp
  6. ActionErrors和ActionError
  7. 非常不错的Coding-iOS开源项目
  8. R语言-实用功能性语句1
  9. 聚集索引与非聚集索引及其查询效率【转载】
  10. 支持拼音检索的TextBox扩展控件-使用