Código
<?php /* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: :: GIFEncoder Version 2.0 by László Zsidi, http://gifs.hu :: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */ include "GIFEncoder.class.php"; class Captcha { protected $captcha; protected $clave; function __construct() { $this->clave = $key; $posicion_x=15; for($i = 0;$i<strlen($key);$i++){ $posicion_x+=25; } //Fix con el color de la segunda letra } public function imprimir() { { $gif = new GIFEncoder($this->frames, $this->framed, 0, 2, 0, 0, 0, 'url'); echo $gif->GetAnimation(); }else{ } } public function guardar() { $_SESSION['CAPTCHA_TEXT'] = $this->clave; return $this->clave; } } class Animacion extends Captcha { public $frames; public $framed; function __construct($aleatorio = 1) { parent::__construct(); if ($aleatorio == 1) { $n == 1 ? $this->circulo() : 'no' ; $n == 2 ? $this->bum() : 'no' ; $n == 3 ? $this->desliz() : 'no' ; } } public function circulo() { $circulo_x = 40; $circulo_y = 0; $frames_x = 20; for($b=0;$b<$frames_x;$b++){ //fix $fname = 'tmp/'.$b.'.gif'; $this->frames[] = $fname; $this->framed[] = 1; $circulo_y+=10; } $this->imprimir(); } public function bum() { $frames_x = 30; for($b=0;$b<$frames_x;$b++){ //fix $fname = 'tmp/'.$b.'.gif'; $this->frames[] = $fname; $this->framed[] = 1; } $this->imprimir(); } public function desliz() { $frames_x = 30; for($b=0;$b<$frames_x;$b++){ //fix $fname = 'tmp/'.$b.'.gif'; $this->frames[] = $fname; $this->framed[] = 1; } $this->imprimir(); } } // Animacion aleatoria $showtime = new Animacion(); //$showtime->guardar(); // Seleccionar animacion //$showtime = new Animacion(0); //$showtime->bum(); // Sin animacion //$showtime = new Captcha(); //$showtime->imprimir(); ?>