1. まず、GD ライブラリが正常かどうかを確認する必要があります。 2. 合成画像の場合は、必ず分解した画像をフレームフォルダーに入れてください。 3.GIFEncoder.class.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 $xv = -1*$xv;
- $x = abs($x);
- }
- if($y>$game_height){
- $yv = -1*$yv;
- $y = $game_height - ($y - $game_height);
- }elseif($y $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 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();
- ?>
-
コードをコピー
|