php合成或者创建gif动画

转载 2013年12月04日 14:14:30
1. 首先需要确认GD库是否正常。
 
2. 如果是合成图片,请确保把分解的图片放在frames的文件夹里面。
 

3. GIFEncoder.class.php 类

<?php
include "GIFEncoder.class.php";

ob_start();
$board_width = 60;
$board_height = 60;
$pad_width = 5;
$pad_height = 15;
$ball_size = 5;
$game_width = $board_width - $pad_width*2 - $ball_size;
$game_height = $board_height-$ball_size;

$x = 0;
$y = rand(0,$game_height);
$xv = rand(1,10);
$yv = rand(1,10);
$pt[] = array($x,$y);
do{
        $x += $xv;
        $y += $yv;
        if($x > $game_width){
                $xv = -1*$xv;
                $x = $game_width - ($x-$game_width);
        }elseif($x < 0){
                $xv = -1*$xv;
                $x = abs($x);
        }
        if($y>$game_height){
                $yv = -1*$yv;
                $y = $game_height - ($y - $game_height);
        }elseif($y<0){
                $yv = -1*$yv;
                $y = abs($y);
        }
        $pt[] = array($x,$y);
}while($x!=$pt[0][0]||$y!=$pt[0][1]);

$i = 0;
while(isset($pt[$i])){
        $image = imagecreate($board_width,$board_height);
        imagecolorallocate($image, 0,0,0);
        $color = imagecolorallocate($image, 255,255,255);
        $color2 = imagecolorallocate($image, 255,0,0);
        
        if($pt[$i][1] + $pad_height < $board_width){
                imagefilledrectangle($image,0,$pt[$i][1],$pad_width, $pt[$i][1]+$pad_height,$color);
        }else{
                imagefilledrectangle($image,0,$board_width-$pad_height,$pad_width, $board_width,$color);
        }
        imagefilledrectangle($image,$board_width-$pad_width,0,$board_width, $board_height,$color2);
        imagefilledrectangle($image,$pad_width+$pt[$i][0], $ball_size+$pt[$i][1]-$ball_size, $pad_width+$pt[$i][0]+$ball_size, $ball_size+$pt[$i][1],$color);
        //imagesetpixel($image,$pt[$i][0],$pt[$i][1],$color);
        imagegif($image);
        imagedestroy($image);
        $imagedata[] = ob_get_contents();
        ob_clean();
        ++$i;
}

$gif = new GIFEncoder(
                            $imagedata,
                            100,
                            0,
                            2,
                            0, 0, 1,
                            "bin"
        );
        
Header ('Content-type:image/gif');
echo $gif->GetAnimation();
?>


php imagick生成gif动画的方法

php imagick生成gif动画的方法
  • oMiracle123
  • oMiracle123
  • 2017年04月17日 10:34
  • 904

PHP图片合成(gd库)

/**  *  @desc 图片合成代码逻辑示例  *      需要用到TP框架、文字处理函数,微信登录判断等,仅作自我记录参考  *  @usage          $M...
  • u012767761
  • u012767761
  • 2017年06月28日 02:06
  • 750

【代码】PHP 生成GIF动画实现动态图片验证码

相信很多人都想过如何用PHP生成GIF动画来实现动态图片验证码,以下是实现过程。 ImageCode函数通过GIFEncoder类实现的GIF动画的PHP源代码,有兴趣的朋友可以研究一下。 /...
  • u012275531
  • u012275531
  • 2013年12月02日 11:20
  • 1314

使用PHP生成二维码的两种方法(带logo图像)

随着科技的进步,二维码应用领域越来越广泛,今天我给大家分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码 使用PHP QR Code生成二维码 HP QR Code是一个PHP二维...
  • chaishen10000
  • chaishen10000
  • 2016年11月21日 21:12
  • 991

完美实现GIF动画缩略图(GIF压缩使用C++、shell命令、php)

http://blog.csdn.net/czloveyeer/article/details/8179220 缩略图是个很常用的功能。它的实现并不复杂,但如果原图是GIF动画的话,问题就会...
  • sd19871122
  • sd19871122
  • 2016年03月02日 23:55
  • 992

使用php的GD库拼接图片

本来是想用ImageMagick来实现这个功能,但是ImageMagick 的环境搭建了半天没搞定,就换成了GD库。等有时间再去研究ImageMagick吧。 为了简化业务人员的工作流程,需要在系统...
  • u011061889
  • u011061889
  • 2017年07月30日 22:56
  • 938

PHP合成图片、生成文字、居中对齐、画线、矩形、三角形、多边形、图片抗锯齿、不失真 高性能源码示例

function generateImg($source, $text1, $text2, $text3, $font = './msyhbd.ttf') { $date = '' . dat...
  • woaixhq
  • woaixhq
  • 2014年01月09日 15:57
  • 8118

在Android平台下合成Gif

本文介绍在 `Android` 平台下合成 `GIF` 的方法,查阅资料的过程中发现大致有两种方案。 1. 使用 `giflen` (一个 `C` 的合成 `gif` 的库) 进行 `gif` 合成...
  • chendong_
  • chendong_
  • 2016年03月09日 23:32
  • 1992

Java根据图片生成GIF动图

昨天看到手机QQ空间可以预览自己手机上的图片并生成GIF图片,然后看到微信的公众号上很多都是动图,于是就想用java将几张图片生成gif图。合成gif的图片大小最好一致,不要问我为什么。具体代码如下:...
  • sinat_15153911
  • sinat_15153911
  • 2017年04月08日 12:52
  • 1721

iOS - GIF图的完美拆解、合成、显示

最近由于项目需要,需要先把gif图拆解开,然后在每一张图片上添加一些图片和文字,最后再合成gif文件;写了一个工具类可以每一帧画面并遵循每一帧所对应的显示时间进行播放,并且可以用多张图片指定每一帧播放...
  • marujunyy
  • marujunyy
  • 2013年11月07日 18:38
  • 3922
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php合成或者创建gif动画
举报原因:
原因补充:

(最多只允许输入30个字)