Como já mencionamos em post anterior, PHP é uma linguagem de programação genérico, muito parecido com a linguagem C. Mas também tem muitas facilidades para utilizar na criação de páginas web.
Aqui vamos mostrar a facilidade de se utilizar o PHP para criação de gráficos, ou seja criação de imagem tipo PNG.
A primeira rotina a ser utilizada é a seguinte:
$im = imagecreatetruecolor ( int $width , int $height );
Esta rotina cria um apontador para uma imagem ($im) com largura ($width) e altura ($height); Não se esqueça de definir $width e $height antes de utilizá-los.
A segunda rotina a ser utilizada define as cores que pretendemos utilizar no nosso gráfico:
$background = imagecolorallocate($im, 0, 0, 0);
Os parâmetros para esta rotina são o ponteiro que criamos na primeira rotina ($im) e os níveis de cada cor R, G, B ou seja Vermelho, Verde, e Azul. A primeira vez que esta rotina é chamada, define a cor do fundo da imagem. Neste exemplo, criei um fundo preto (zero vermelho, zero verde, e zero azul). A rotina retorna um ponteiro para a cor na palete de cores do gráfico. Esta rotina deve ser chamada diversas vezes para a definição das cores que pretendemos utilizar.
$text_color = imagecolorallocate($im, 255, 255, 255);
$line_color = imagecolorallocate($im, 0, 0, 255);
$bar_color = imagecolorallocate($im, 0, 255, 0);
Assim criamos um gráfico com fundo preto, texto branco, cor da linha azul e cor da barra verde.
Após criarmos o ponteiro para a imagem e definirmos as cores que pretendemos utilizar, podemos desenhar segmentos de retas entre dois pontos utilizando a função:
imageline($im, $x1, $y1, $x2, $y2, $line_color);
onde $im é o ponteiro para o nosso gráfico, criado pela primeira rotina; $x1 e $y1 definem o ponto inicial da reta; $x2 e $y2 definem o ponto final da reta; e a variável $line_color aponta para a cor que desejamos na palete de cores que criamos com o segundo comando (neste exemplo, o azul).
O comando para acrescentar texto no nosso gráfico é a função:
imagestring($im, $font_size, $x, $y, $text, $text_color);
onde $im é o ponteiro para o nosso gráfico; $font_size indica o tamanho da fonte de caracteres (pode variar de 1 a 5 para as fontes pre-definidas); $x e $y são as coordenadas onde o texto deve ser escrito; $text é a string de texto a ser escrito; e $text_color aponta para a cor que desejamos na palete de cores que criamos com o segundo comando (neste exemplo, o branco).
Tendo finalizado o nosso gráfico, utilizamos a rotina
imagepng($im);
para enviar a imagem pela saída padrão. Ou seja, este comando (se usado em uma página web) envia a imagem criada para o navegador do visitante.
A última rotina que devemos utilizar é:
imagedestroy($im);
que libera a memória reservada para o ponteiro pelo primeiro comando que mencionamos.
Observações importantes:
1) Para visualizar a imagem em uma página web, é necessário colocar
<img src="image.php" >
dentro do código HTML da página.
2) O arquivo image.php deve gerar a imagem desejada.
3) O arquivo image.php deve enviar ao navegador o seguinte texto, antes de enviar a imagem
header("Content-type: image/png");
para indicar que os dados a seguir devem ser interpretados como uma imagem.
4) Na definição do espaço a ser utilizado pelo gráfico, a posição 0,0 é a do canto superior esquerdo. X na horizontal e Y na vertical.
Exemplos de gráficos que criei utilizando PHP podem ser vistos na minha página de estatísticas de banners.