Cita:  
					Iniciado por elquique  
  No sera que genera una imagen en alguna carpeta y no haz seteado esta y/o dado los permisos de escritura ?
    No creo no?? 
Mira este es el codigo  
gen_imagen.php  Código PHP:
    <?php
/*
GENERADOR CAPTCHA IMAGEN.
*/
// Iniciamos uso de sesiones ...
session_start(); 
 
//recogemos el texto por el URL que enviamos a generar desde el link de imagen del HTML de nuestro formulario
$codigo=$_SESSION['micaptcha'];
 
//nombres tipografías a usar (sin extensión .ttf)
//$tipografias = array("JOKERMAN","Hotel Coral Essex","OctemberScript");
$tipografias = array("JOKERMAN","OPIUM");
 
//directorio donde estén las fuentes (ruta absoluta) importante el último /
$tipografias_ruta = "fuentes\\";
// $tipografias_ruta="/home/sito/public_html/fonts/"; linux
 
//inicializa eje X desde donde se empezará a dibujar el código (referente al tamaño de la caja)
$espacio = 0;
 
//tamaño fuente.
$tamano_fuente = 20;
 
//profundidad caracteres/digitos del código a generar (password).
$profundidad_codigo = 6; // (alfanuméricos)
 
//cálculo Ancho automático de la caja
$x=150;
$y=40;
 
//angulo máximo de inclinación
$angmax = 20;
 
// Valores máximos de las lineas
$hori = 50;
$verti = 100;
 
// Iniciar la generación de la imagen. Se define una caja de $x por $y pixels.
$im = imagecreate($x, $y);
 
//definición Colores. Expresados en valores R G B (respectivamente).
$color_fondo = imagecolorallocate($im, 255, 255, 255); // Blanco
$color_texto = imagecolorallocate($im, 0, 0, 0); // Negro
 
for($caracter=0; $caracter<$profundidad_codigo; $caracter++){
    $rhori = rand(-$hori, $hori);
    $rverti = rand(-$verti, $verti);
    // intento de lineas
    $lineColor = imagecolorallocate($im, 0, 0, 0);
    imagefill($im, 0, 0, $color_fondo);
    //imageline( imagen, separacion izq, separacion superior, largo, inclinacion)
 
    //linias horizontales
    imageline($im, 0, $rhori, 200, $rhori, $lineColor);
    imageline($im, 0, $rhori+20, 200, $rhori+20, $lineColor);
    // linias verticales, necesito cambiar el primer valor aleatoriamente
    imageline($im, $rverti, 0, 25, 700, $lineColor);
    imageline($im, $rverti+20, 0, 25, 700, $lineColor);
 
}
 
for($caracter=0; $caracter<$profundidad_codigo; $caracter++){
  //seleccion de una tipografía aleatoria.
  $indice_aleatorio=array_rand($tipografias);
  $tipografia=$tipografias_ruta.$tipografias[$indice_aleatorio].'.ttf';
 
  //separación entre caracteres
  $espacio +=$tamano_fuente;
  //angulo aleatorio
  $ang = rand(-$angmax, $angmax); 
  //generar el caracter gráfico.
  //imagettftext($im, $tamano_fuente, 0, $espacio, $tamano_fuente, $color_texto, $tipografia , $codigo{$caracter});
  imagefttext($im, $tamano_fuente, $ang, $espacio, 30, $color_texto, $tipografia, $codigo{$caracter});
  
}
 
//cabecera HTTP la cual indica al navegador que la imagen que estamos generando es .PNG
header('Content-type: image/png');
 
//genera un png dinámico
imagepng($im);
//destruye la imagen del servidor
imagedestroy($im);
?>    
  gen_codigo.php  Código PHP:
    <?php
/*
FUNCION: GENERADOR DE CARACTERES ALEATORIOS
*/
function genera_password($longitud,$tipo="numerico"){
 
if ($tipo=="alfanumerico"){
$exp_reg="[^A-Z0-9]";
} elseif ($tipo=="numerico"){
$exp_reg="[^0-9]";
}
 
return substr(eregi_replace($exp_reg, "", md5(time())) .
eregi_replace($exp_reg, "", md5(time())) .
eregi_replace($exp_reg, "", md5(time())),
0, $longitud);
}
?>    
  Y esta es la llamada desde mi formulario   
 Código PHP:
    <strong>Imagen de Seguridad:</strong><br/>
                                <div align="left" style="margin-bottom: 10px;"><img border="1" src="../includes/registro_user/gen_imagen.php"></div>
                                <input id="captcha" name="security_code" type="text"/> 
    
  Tengo la siguiente estructura  
Raiz
carpeta = registro (contiene el formulario)
carpeta = includes/registro_user (contienen el generar numero, imagen y una carpeta con las fuentes)