<?php
 /* Iniciamos la sesión.  Esto se utiliza para el envio de variable de sesión. 
    Mediante las variables de sesión enviamos la cadena de 5 caracteres que el usuario debe introducir en el formulario para verificar 
	que no se trata de un robot.*/
 
 session_start();
 
 /* Creación de una cadena aleatoria a partir de las funciones de fecha de php. 
  La función md5() retorna una cadena de 32 caracteres alfanuméricos, mediante el algoritmo de 
  encriptación md5. */
  date_default_timezone_set('America/Toronto');
  $md5 = md5(microtime() * mktime());
  
  /* Para este ejemplo sólamente necesitamos 5 caracteres de los 32 que genera la función md5()  por lo tanto escojemos los 5 primeros caracteres de la cadena. */
 $string = substr($md5,0,5);  
  header("Content-type: image/png"); //creación de la imagen   
  $imagen = imagecreate(100,25); //definimos el ancho y alto de la imagen
  
  $colorfondo = imagecolorallocate($imagen,157,166,171); //definimos el color de fondo
  $colorlinea = imagecolorallocate($imagen,255,204,0);	 //definimos lineas transversales
  
  $blanco = imagecolorallocate($imagen, 255, 255, 255); // Color blanco para la letra
  $negro  = imagecolorallocate($imagen, 0, 0, 0);       // Color negro  para la letra
 
  //imagefilledrectangle($imagen, 0, 0, 399, 29, $negro);  //crear un recuadro 
  
  //Añadiremos unas cuantas líneas a nuestra imagen para evitar que que los robots lean el contenido de la imagen. 
  imageline($imagen,rand(0,100),0,rand(0,50),50,$colorlinea);
  imageline($imagen,rand(0,100),0,rand(0,50),50,$colorlinea);
  imageline($imagen,rand(0,100),0,rand(0,50),50,$colorlinea);
  imageline($imagen,rand(0,100),0,rand(0,50),50,$colorlinea);

  $fuente = "fonts.ttf"; //fuente a usar

  //imagettftext($imagen, 14, 2, 20, 20, $negro, $fuente, $string);
  imagettftext($imagen, 14, 2, 15, 21, $negro, $fuente, $string);

  imagepng($imagen); //creamos la imagen

  imagedestroy($imagen); //destruimos la imagen


  //Encriptamos la variable de sesión con la función md5() y la establecemos como una variable de sesión, para poder verificarla al 
  //enviar el formulario.
  $_SESSION['codigo_verificacion'] = md5($string);
?>