Hola a todos
Estoy intentando generar una imagen en cada pasada de un bucle para hacer una nota con el día y el mes de un evento en cuestion.
El bucle es el siguiente:
Código PHP:
for ($i=0; $i < count($eventos); $i++) {
$evento = $eventos[$i];
$fecha = explode("-", $evento->fecha);
setlocale(LC_TIME ,"esp");
$fecha_imagen = mktime(0, 0, 0, $fecha[1], $fecha[2], $fecha[0]);
$fecha = strftime("%d %B (%a)", $fecha_imagen);
echo "<div class='evento'>";
echo "<img src='". genera_imagen($fecha_imagen); . "' atl='Fecha' />" . $evento->nombre;
echo "</div>";
...
Siendo genera_imagen():
Código PHP:
function genera_imagen($timestamp) {
$imagen = imagecreatefromgif('path_a_la_imagen');
$color_negro = imagecolorallocate($imagen, 0, 0, 0);
$color_rojo = imagecolorallocate($imagen, 103, 16, 17);
$mes = strftime('%b', $timestamp);
$dia = strftime('%d', $timestamp);
$fuente_path = 'path_a_la_fuente';
imagefttext($imagen, 12, 14, 57, 37, $color_negro, $fuente_path, $mes);
imagefttext($imagen, 15, 14, 10, 10, $color_rojo, $fuente_path, $dia);
header("Content-type: image/png");
imagepng($imagen);
imagedestroy($imagen);
}
Lo único que consigo con esto es que se generen una serie de caracteres extraño en la pantalla tal que:
Código:
‰PNG IHDRƒdåCøPLTEÿÿÿGGGaaakkkqqqvvvzzz~~~ƒƒƒ†††‰‰‰������“““–––˜˜˜šššœœœžžž¡¡¡¤¤¤¦¦¦¨¨¨«««¬¬¬***°°°²²²´´´¶¶¶···¸¸¸¹¹¹¼¼¼¾¾¾¿¿¿ÀÀÀÁÁÁÃÃÃÄÄÄÅÅÅÆÆÆÍÍÍÏÏÏÐÐÐÓÓÓÖÖÖ×××ØØØÞÞÞßßßàààáááâââçççéééêêêëëëìììíííîîîïïïñññòòòóóóôôôöööøøøùùùüüüþþþº¹¹¾½½ÄÃÃÆÅÅÉÈÈÎÍÍÝÜÜàßßäããåääæååèççêééúùù×ÕÕÛÙÙÎÊÊÕÑÑÑËËËÄÄž••¾³³'##º§§ ECÿHDé73Î0-ÿ:6ÿ1.¨î&$ÿ(%ÜÁÿdùéÛ ;Í º¥•œ[Xÿnhÿjcÿd]ÈKGÿ_YÿZTÿVQÿRM®52ÿNIŽ+(êGBÿB=¥ƒ�sJGX86ÿ‰�ÿƒ{âpiÿ}vÿxpÿskÕ_Y¦xtfC@ÿœ’ÿ˜Žÿ”‹ÿ�†Â¹¸ÿ¨žÿ¥šÿ –Ê}u{ZUÿµªÿ±¦ÿ*¢®œ™ÿÁµí¯¤ÿ½±â§œÿ¹*®“�‘uoÿɽÿƹף˜ÿÎÁñ¿³Ã˜ŽÿÖÈÿÓÅzicÿÛÍß½±öÖÈòÕÇ<:9ÿâÓ˶ªçÒÅÿéÚ¹ªŸ×Ǻ ðæÙÿôäþü캺¹¼¼»ÂÂÁÄÄÃØØ×ÚÚÙîîíÿÿþTTS¹º¹¿À¿ÉÊÉËÌËר×ÙÚÙÝÞÝãäãçèçëìëíîíýþý©ªª»¼¼½¾¾¿ÀÀÁÂÂÃÄÄÇÈÈÉÊÊÙÚÚÚÛÛåææçèèíîîñòòóôôùúúúûûÚÜÜšœœÃÇÇÊÑÑÑØØÞççìõõl{|¹¹º»»¼½½¾ÊÊËÑÑÒ×רååæëëìïïðõõöýýþ¯®¯º¹º»º»¼»¼¾½¾ÈÇÈÚÙÚÜÛÜäãäôóôöõöÿÿÿÈyÇ&tRNS@æØfKIDATxœ½Z X[ÙuF Z�Ä.��±ƒx!H@Ü„I'ÝÒ´£àÛcϰ„—±�í±gìØ®ÇKljƒ× %ãe‘�!x:m&JP�º�„4¤…ÒeÚ B¡)ˆôæ¾' ´2pûÊ…£»÷¶y¢´Ÿ?rê9ª¹�ô«•¾úõ?0úe¤©ðQñë$¿t´ÒM'ôR9šKòüJG“)Í´}ŽæÔ*xÆàðH-áf°?ï>¹××s5ðöÓ‘¡ÁÇwoß¼zîÂácÝ»÷¼êgÐÒz¿¯çúùKGOìÞ³·ù_¨ö¢j9ÅÇâ`Gû±Ë€_¦Šf¬ø?\ººÀ$€ÁÛdqÌšx‡ù'u[ZÊF·Pœ2ŽÉ†‘u²)0åðL0 Ä©ÌÎÉΔ¤q@Œ!/ˆÅŽf0gyŒ2×ÍaßAs"4>O8Ü^oØ[¡,ÞyÒûƾ…î[ƒý÷û® Ï'ðþûχž=�·{®�¿täø©3{ý :Ÿ<º× o_Änï½¹�äkÑún¯{fœÙsà+ê¸ñ©Ìb_‹ö¶ëØíCÓ£©ùêÔÀóø�]o|¹‘Y KªoðŒ&ßÛBßùVU}M\ðG¡×ƒljÈÙÑ5¤�Ë^¬1¤@“ÉM úâL}>Ḭ̂lšThÀÇd“èEuÚÇdC®âoµ\kv žI�ËB¹PÃ*’ŽãYÀB.....
He conseguido generar la imagen bien en un fichero (poniendo el segundo parámetro de imagepng pero no consigo generarla al vuelo (para evitar cargar innecesariamente imagenes al servidor)
Quizá sea imposible lo que pido. ¿Alguna idea?