Arquivo

Posts Tagged ‘graphic’

Perl + GD Graphic Library: Exemplo 5 (Código de Barras EAN 13)

Este exemplo utilizará o módulo GD::Barcode para a criação de Códigos de Barras.

O GD pode lhe ser útil também para trabalhar com códigos de barras.

Utilizando o módulo Barcode você poderá gerar etiquetas compatíveis com vários padrões internacionais incluindo os principais EAN-8 e EAN-13.

Para este exemplo, o módulo utilizado foi:

use GD::Barcode::EAN13;

Obs.: Usamos ‘GD::Barcode::EAN13’ pois nosso objetivo é criar um código de barras EAN-13.

Para criar o gráfico apenas chame seu instanciador passando o código de barras por parâmetro:

my $barra = GD::Barcode::EAN13->new(‘8711253001205’);

Pronto.

Feito isto basta esboçar e mandar exibir o gráfico:

binmode(STDOUT);
print “Content-Type: image/png\n\n”;
print $barra->plot->png;

Compare os códigos de barra gerados:

Resultado: gd-exemplo5.cgi

Exemplo Válido da Wikipedia: Encoding EAN-13


Veja o Código Completo:
(gd-exemplo5.cgi)

#!/usr/bin/perl
use GD::Barcode::EAN13;
# GD::EAN13 pode ser substituido por outro módulo de Barcode. (EAN8,UPCA,UPCE….)

my $barra = GD::Barcode::EAN13->new(‘8711253001205’);
# Em new() definimos o código EAN 13 para criar as barras.

binmode(STDOUT);
print “Content-Type: image/png\n\n”;
print $barra->plot->png; # Esboça e Escreve


Perl + GD Graphic Library
[ 1 | 2 | 3 | 4 | 5 | 6 | 7 ]

Perl + GD Graphic Library: Exemplo 4 (Gráfico Pizza)

Este exemplo utilizará o módulo GD::Graph para a criação de um Gráfico no estilo Pizza.

Para este exemplo, o módulo utilizado foi:

GD::Graph::pie;

Obs.: Usamos ‘GD::Graph::pie’ pois nosso objetivo é criar um gráfico pizza.

Assim como no Exemplo 2, carregamos os dados em dois arrays diferentes:

my @campos = (‘Out 2007′,’Nov 2007′,’Dez 2007′,’Jan 2008′,’Fev 2008′,’Mar 2008’);
my @valores = (‘547′,’2282′,’2798′,’2354′,’4326′,’1037’);

Estes dois itens serão armazenados em um array especial que guardará o endereço tanto array dos campos quanto a dos valores para que possa então esboçá-los no gráfico.

my @graf = (@campos,@valores);

Com todos os dados em mãos chamamos a função que criará um novo gráfico.

my $grafico = GD::Graph::pie->new(320, 300);

Agora temos na variável $grafico uma nova instância de gráfico de barras com 320x300px.

Para montar o gráfico utilizamos a função Graph set , passando o ângulo inicial, o ângulo nulo, o rótulo, o título do gráfico, valor do 3d, expessura 3d:

$grafico->set(
start_angle => ‘0’,    # Ângulo de onde iniciará os gráficos
suppress_angle => ‘0’,    # Se o nome do campo for menor que a área mencionada aqui ele não será exibido.
label => ‘Exemplo de Gráfico Circular’,  # Texto a aparecer abaixo do gráfico
title => ‘Visitas Mensais de “Um Site Qualquer”‘,        # Título do gráfico
‘3d’ => ‘1’,  # 1: Adiciona efeito 3d
pie_height => ’32’,   # Expessura do efeito 3d. Ideal 0,1*altura
) or warn $grafico->error;

Com isto o gráfico será criado, a menos que o warn retorne algum erro.

O próximo passo é passar os dados para o esboço.

A função plot faz isto:

$grafico = $grafico->plot(@graf) or die $grafico->error;

Se nenhum erro for retornado é sinal de que o gráfico foi criado com sucesso.

Nos resta então apenas exibí-lo na tela:

binmode STDOUT;
print “Content-type: image/pngnn”;
print $grafico->png;


Resultado: gd-exemplo4.cgi


Veja o Código Completo:
(gd-exemplo4.cgi)

#!/usr/bin/perl
use GD;
use GD::Graph::pie;
#  Usamos ‘GD::Graph::pie’ pois nosso objetivo é criar um gráfico de pizza

######## Cria as variáveis para exibir o gráfico ########
my @campos = (‘Out 2007′,’Nov 2007′,’Dez 2007′,’Jan 2008′,’Fev 2008′,’Mar 2008’);
my @valores = (‘547′,’2282′,’2798′,’2354′,’4326′,’1037’);
my @graf = (@campos, @valores);
################################
######## Criação da imagem ########
my $grafico = GD::Graph::pie->new(320, 300);
# Os valores de new são as dimensões do gráfico

$grafico->set(

start_angle => ‘0’,    # Ângulo de onde iniciará os gráficos
suppress_angle => ‘0’,    # Se o nome do campo for menor que a área mencionada aqui ele não será exibido.
label => ‘Exemplo de Gráfico Circular’,                       # Texto a aparecer abaixo do gráfico
title => ‘Visitas Mensais de “Um Site Qualquer”‘,        # Título do gráfico
‘3d’ => ‘1’,                                    # Se 1: Adiciona efeito 3d
pie_height => ’32’,   # Expessura do efeito 3d. Ideal 0,1*altura
) or warn $grafico->error;

$grafico = $grafico->plot(@graf) or die $grafico->error;
##########################
####### Exibe o gráfico ######
binmode STDOUT;
print “Content-type: image/pngnn”;
print $grafico->png;


Perl + GD Graphic Library
[ 1 | 2 | 3 | 4 | 5 | 6 | 7 ]

Perl + GD Graphic Library: Exemplo 3 (Gráfico Barras 3D)

Este exemplo utilizará o módulo GD::Graph para a criação de um Gráfico no estilo Barras 3D.

Para este exemplo, o módulo utilizado foi:

GD::Graph::bars3d;

Obs.: Usamos ‘GD::Graph::bars3d’ pois nosso objetivo é criar um gráfico barras 3d.

Assim como no Exemplo 2, carregamos os dados em dois arrays diferentes:

my @campos = (‘Out 2007′,’Nov 2007′,’Dez 2007′,’Jan 2008′,’Fev 2008′,’Mar 2008’);
my @valores = (‘547′,’2282′,’2798′,’2354′,’4326′,’357’);

Estes dois itens serão armazenados em um array especial que guardará o endereço tanto array dos campos quanto a dos valores para que possa então esboçá-los no gráfico.

my @graf = (\@campos,\@valores);

Com todos os dados em mãos chamamos a função que criará um novo gráfico.

my $grafico = GD::Graph::bars3d->new(500, 300);

Agora temos na variável $grafico uma nova instância de gráfico de barras com 500x300px.

Para montar o gráfico utilizamos a função Graph set , passando a expessura da barra, o espaçamento entre as barras, o rótulo horizontal, vertical e o título do gráfico:

$grafico->set(
bar_width => ’25’,   # Expessura das barras
bar_spacing => ‘4’,  # Espaçamento entre as barras
x_label => ‘Mes’,     # Rótulo horizontal
y_label => ‘Visitas Totais’, # Rótulo vertical
title => ‘Visitas Mensais de “Um Site Qualquer”‘,  # Título do gráfico
) or warn $grafico->error;

Com isto o gráfico será criado, a menos que o warn retorne algum erro.

O próximo passo é passar os dados para o esboço.

A função plot faz isto:

$grafico = $grafico->plot(\@graf) or die $grafico->error;

Se nenhum erro for retornado é sinal de que o gráfico foi criado com sucesso.

Nos resta então apenas exibí-lo na tela:

binmode STDOUT;
print “Content-type: image/png\n\n”;
print $grafico->png;


Resultado: gd-exemplo3.cgi


Veja o Código Completo:
(gd-exemplo3.cgi)

#!/usr/bin/perl
use GD;
use GD::Graph::bars3d;
#  Usamos ‘GD::Graph::3dbars’ pois nosso objetivo é criar um gráfico de barras

######## Cria as variáveis para exibir o gráfico ########
my @campos = (‘Out 2007′,’Nov 2007′,’Dez 2007′,’Jan 2008′,’Fev 2008′,’Mar 2008’);
my @valores = (‘547′,’2282′,’2798′,’2354′,’4326′,’357′);
my @graf = (\@campos, \@valores);
################################
######## Criação da imagem ########

my $grafico = GD::Graph::bars3d->new(500, 300);
# Os valores de new são as dimensões do gráfico

$grafico->set(
bar_width => ’25’,   # Expessura das barras
bar_spacing => ‘4’,  # Espaçamento entre as barras
x_label => ‘Mes’,   # Rótulo horizontal
y_label => ‘Visitas Totais’, # Rótulo vertical
title => ‘Visitas Mensais de “Um Site Qualquer”‘, # Título do gráfico
) or warn $grafico->error;

$grafico = $grafico->plot(\@graf) or die $grafico->error;
##########################
####### Exibe o gráfico ######
binmode STDOUT;
print “Content-type: image/png\n\n”;
print $grafico->png;


Perl + GD Graphic Library
[ 1 | 2 | 3 | 4 | 5 | 6 | 7 ]