Estoy viendo por primera vez la generación de imagenes GD y he conseguido generar una imagen tipo código captcha.
 
Este código me funciona perfectamente:    
Ahora le he intentado añadir un script que tenía hecho de hace unos días el cual general un código aleatorio, formado por Mayusculas minúsculas y numeros ( quité los signos para el captcha ) pero la cuestión es que en vez de añadir en el imagenstring el mt_rand, llamo a la función que muestra el código llamada cadena() pero la imagen que genera está totalemente en blanco sin el string. 
pego el código:    
Código PHP:
Ver original- <?php 
- function cadena() { 
- $cadena = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
- $cadena .= "abcdefghijklmnopqrstuvwxyz"; 
- $cadena .= "1234567890"; 
- for($i=0;$i<5;$i++) { 
- foreach($aleatoria as $datosAleatoria) { 
- echo $datosAleatoria; } 
- } 
-   
- imagefill($imagen, 0, 0, $blanco);//llenamos el fondo de blanco 
- imagestring($imagen, 5, 35, 6,-  cadena (),$negro); // creamos string
 
- header('Content-type: image/png'); 
- ?> 
Lo primero que he pensado es que la función cadena() estaría mal pero la he probado y funciona perfectamente. 
conclusión, si pongo en el imagestring un 
string directo "ejemplo" o un 
mt_rand(x,x) me funciona pero si añado el llamamiento a 
cadena() no funciona 
¿ Pueden echarme un cable ? Gracias de antemano