PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法 |
|
一、概述: 本文详解了PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法 。 二、配置方法如下: 1、将下载的php_imagick_st-Q8.dll文件放到PHP默认的扩展目录,也就是:php/ext/目录内; 三、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);
}
?>
|