En el PHP manual
para base64_encode()
, vi el siguiente script para generar una imagen.PHP HTML image output
<?php
$imgfile = "test.gif";
$handle = fopen($filename, "r");
$imgbinary = fread(fopen($imgfile, "r"), filesize($imgfile));
echo '<img src="data:image/gif;base64,' . base64_encode($imgbinary) . '" />';
?>
Pero cómo puede usted salida de una imagen creada dinámicamente con GD
?
He intentado esto:
$im = imagecreatetruecolor(400, 400);
imagefilledrectangle($im, 0, 0, 200, 200, 0xFF0000);
imagefilledrectangle($im, 200, 0, 400, 200, 0x0000FF);
imagefilledrectangle($im, 0, 200, 200, 400, 0xFFFF00);
imagefilledrectangle($im, 200, 200, 400, 400, 0x00FF00);
echo '<img src="data:image/png;base64,'.base64_encode(imagepng($im)).'" />';
Por qué no funciona eso?
Parece que funciona en IE pero no Firefox. ¿Cómo puedo hacerlo cross-browser?
estaba usando MSIE? – BalusC
No, firefox. Hmm, funciona en IE ... –
¿Tiene una necesidad real de usar datos: URI? Porque si no lo haces, es mejor no usarlos. Tienen muchas desventajas. IE <8 no los admite en absoluto, por ejemplo. –