欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php合并图片,生成gif动态图片,保存到指定目录

程序员文章站 2024-01-25 08:15:22
...
php合并图片,生成gif动态图片,保存到指定目录

1. PHP代码

/* 
图片合并需要
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);
}

以上就是php合并图片,生成gif动态图片,保存到指定目录的内容,更多相关内容请关注PHP中文网(www.php.cn)!