para estar en claro para todo el mundo estoy usando estos codigos propios del foro para mis pruebas....
para generar la imagen (CAPCHA) uso este código:
Código PHP:
// 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['mipass'];
//nombres tipografías a usar (sin extensión .ttf)
$tipografias = array("evanescent","215000EURO","the_quiet_scream","ABUSO___","Alfred_24");
//directorio donde estén las fuentes (ruta absoluta) importante el último /
$tipografias_ruta = "C:\Program%20Files\Apache Group\Apache2\htdocs\amazon\test\\";
// $tipografias_ruta="/var/www/html/test/";
//inicializa eje X desde donde se empezará a dibujar el código (referente al tamaño de la caja)
$espacio = 7;
//tamaño fuente.
$tamano_fuente = 35;
//profundidad caracteres/digitos del código a generar (password).
$profundidad_codigo = 6; // (alfanuméricos)
//cálculo Ancho automático de la caja
//$x = 130;
//$y = 50;
$x=$profundidad_codigo*$tamano_fuente+15;
$y=$tamano_fuente+15;
// 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++){
//seleccion de una tipografía aleatoria.
$indice_aleatorio=array_rand($tipografias);
$tipografia=$tipografias_ruta.$tipografias[$indice_aleatorio].'.ttf';
//generar el caracter gráfico.
imagettftext($im, $tamano_fuente, 0, $espacio, $tamano_fuente, $color_texto, $tipografia , $codigo{$caracter});
//separación entre caracteres
$espacio +=$tamano_fuente;
}
//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);
y para generar el fondo uso este codigo
Código PHP:
header("Content-type: image/png");
$alto = 150;
$ancho = 150;
$im = imagecreatetruecolor($ancho,$alto);
$white = imagecolorallocate($im, 255,255,255);
imagefill($im,0,0,$white);
for ($i = 0 ; $i < ($ancho / 2) ; $i ++){
$radio = ($ancho /2) - $i;
/*definimos un color usando imagecolorallocatealpha , que es exactamente igual a imagecolorallocate
salvo que recibe un parametro extra que representa su transparencia */
imagefilledellipse($im, rand(20,$ancho), rand(20,$alto) , $radio, $radio,imagecolorallocatealpha($im, 255 - $r, 255 - $g, 255 -$b,75));
if($r < 255) $r += 3;
if($g < 255) $g += 2;
if($b < 255) $b += 1;
}
imagepng ($im);
imagedestroy($im);
he probado de muchas formas y aun no consigo sobreponer el CAPCHA sobre el fondo dinamico que tengo, alguien sabe porque o algun tipo de ayuda?