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>";
...
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);
}
Código:
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)‰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.....
Quizá sea imposible lo que pido. ¿Alguna idea?