> php教程 > php手册 > PHP使用JPG生成GIF动画图片

PHP使用JPG生成GIF动画图片

WBOY
풀어 주다: 2016-06-13 09:37:52
원래의
1205명이 탐색했습니다.

   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。

  4、PHP函数如下:

  01

  02//定义JPG的图片序列

  03$filelist = array(

  04 '1.jpg',

  05 '2.jpg',

  06 '3.jpg',

  07 '4.jpg'

  08);

  09$type = 'gif';

  10$num = 200;

  11$qian = 'new_';

  12$path = './gif/';

  13$is = 1;

  14//生成gif图片的函数

  15get_img($filelist, $type, $num, $qian, $path, $is);

  16/*

  17 * get_img 图片合并,生成gif动态

  18 * $filelist 要合并的图片数组

  19 * $type 生成的类型

  20 * $num 生成的帧数

  21 * $qian 新文件名前缀

  22 * $path 保持路径

  23 * $is 是否预览

  24 */

  25function get_img($filelist, $type, $num, $qian, $path, $is)

  26{

  27 //初始化类

  28 $animation = new Imagick();

  29 //设置生成的格式

  30 $animation->setFormat($type);

  31 foreach ( $filelist as $file ){

  32 $image = new Imagick();

  33 $image->readImage( $file ); //合并图片

  34 $animation->addImage( $image ); //加入到对象

  35 $animation->setImageDelay($num); //设定图片帧数

  36 unset( $image ); //清除内存里的图像,释放内存

  37 }

  38 //以下两行是调试时用的,测试是否生成了gif图片

  39 //header( "Content-Type: image/gif" );

  40 //echo( $animation->getImagesBlob() );

  41 //生成的GIF文件名组合

  42 $images = $qian . time(). '.' . $type;

  43 //生成GIF图片

  44 $animation->writeImages( $images,true );

  45 //保存GIF到指定文件夹

  46 copy($images, $path . $images);

  47 //是否预览

  48 if($is)

  49 {

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

  ';

  51 echo "


  ";

  52 }

  53 else

  54 {

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

  ';

  56 }

  57 //删除原来保存的图片

  58 unlink($images);

  59}

  60?>

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿