Tengo un problema para mostrar desde mi página una imagen creada con CGI.
Tengo en mi servidor una página cualquiera que llama a un gráfico así:
- <img src="http://127.0.0.1/cgi-bin/pruebas/grafico1.cgi" border="0">
y estoy usando un código que encontré por estos lares:
Using perl Syntax Highlighting
#!c:\perl\bin\perl.exe -w
use GD::Graph::bars;
use strict;
my @campos = ('Mar 2006','Abr 2006','May 2006', 'Jun 2006', 'Jul 2006');
my @valores = (547, 2282, 2798, 2354, 4326);
my @graf = (\@campos, \@valores);
my $grafico = GD::Graph::bars->new(500, 300);
$grafico->set(
x_label => 'Mes',
y_label => 'Visitas Totales',
title => 'Visitas Mensuales',
) or warn $grafico->error;
print "Content-type: image/png\n\n";
print $imagen->png;
exit(1);
use GD::Graph::bars;
use strict;
my @campos = ('Mar 2006','Abr 2006','May 2006', 'Jun 2006', 'Jul 2006');
my @valores = (547, 2282, 2798, 2354, 4326);
my @graf = (\@campos, \@valores);
my $grafico = GD::Graph::bars->new(500, 300);
$grafico->set(
x_label => 'Mes',
y_label => 'Visitas Totales',
title => 'Visitas Mensuales',
) or warn $grafico->error;
print "Content-type: image/png\n\n";
print $imagen->png;
exit(1);
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
Si cambio las tres últimas líneas por:
Using perl Syntax Highlighting
open (IMG, '>grafico.jpg') or die $!; # Abrimos el fichero destino
binmode IMG;
print IMG $grafico->plot(\@graf)->png;
close IMG;
binmode IMG;
print IMG $grafico->plot(\@graf)->png;
close IMG;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
funciona perfecto y me crea el archivo en el mismo directorio del programa, pero lo que quiero es verlo cuando se invoque la página desde el navegador.
No sé si me falta algo en la cabecera.
Using perl Syntax Highlighting
print "Content-type: image/png\n\n";
print $imagen->png;
exit(1);
print $imagen->png;
exit(1);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
O no sé si lo hago mal pero necesito que funcione desde el navegador web, no solo en la creación del archivo .PNG.
Muchísimas gracias de antemano por la ayuda.