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

一、概述:

本文详解了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 "%22%20.%20%24path%20.%20%24images%20.%20%22";

}

else

{

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

}

//删除原来保存的图片

unlink($images);

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值