频道栏目
首页 > 资讯 > 文件上传 > 正文

php将多张jpg图片生成gif动态图片的代码

16-01-07        来源:[db:作者]  
收藏   我要投稿

/* 
图片合并需要
1 下载 php_imagick_st-Q8.dll 
并将其放入 php/ext/
2 在php.ini 中加入
extension=php_imagick_st-Q8.dll 
重启apache (web 服务器)
3 访问phpinfo 
*/

/* 
图片合并需要
1 下载 php_imagick_st-Q8.dll 
并将其放入 php/ext/
2 在php.ini 中加入
extension=php_imagick_st-Q8.dll 
重启apache (web 服务器)
3 访问phpinfo 
*/


//参数设置
$filelist = array( 
'1.jpg', 
'2.jpg', 
'3.jpg', 
'4.jpg'
); 
$type = 'gif';
$num = 200;
$qian = 'new_';
$path = './tupian/';
$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() ); 

//新图片文件名组合
$images = $qian . time(). '.' . $type;

//生成图片
$animation->writeImages( $images,true ); 

//保存都指定目录
copy($images, $path . $images);

//是否预览
if($is)
{
echo '已生成gif图片: ' . $images . '<br />';
echo "<img src='" . $path . $images . "' />";
}
else
{
echo '已生成gif图片: ' . $images . '<br />';
}
//删除最先保存的图片
unlink($images);
}

相关TAG标签
上一篇:PHP环境配置后,Discuz无法上传图片的解决方法
下一篇:一个简单的PHP文件上传示例程序
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站