domingo, 28 de fevereiro de 2010

Desenhando Pixels

Para esse exemplo é necessário ter a biblioteca Allegro instalada no computador, vamos criar um programa que desenha pixels aleatóriamente na tela.


// Cabeçalho com a inclusão das bibliotecas
// necessárias para esse programa

#include <conio.h>
#include <stdlib.h>
#include <allegro.h>

// inicio do programa
void main(void)
{

 int x, y;
 int red, green, blue, color;

 // inicializa a Allegro
 allegro_init();

 // inicializa o teclado
 install_keyboard();

 // inicializa o lançamento de um numero aleatório
 srand(time(NULL));

 // inicializa o modo do video para 640x480
 int ret = set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480, 0, 0);
 if(ret != 0){
  allegro_message(allegro_error);
  return;
 }
 // mostra a resolução da tela
 textprintf(screen, font, 0, 0, 15,
  "Pixels Program - %dx%d - Pressione ESC para sair.",
  SCREEN_W, SCREEN_H;

 // aguarda o pressionamento da tecla ESC
 while(!key[KEY_ESC])
 {
  // configura uma localização aleatória
  x = 10 + rand() % (SCREEN_W - 20);
  y = 10 + rand() % (SCREEN_H - 20);

  // configura uma cor aleatória
  red = rand() % 255;
  green = rand() % 255;
  blue = rand() % 255;
  color = makecol(red, green, blue);

  // desenha um pixel
  putpixel(screen, x, y, color);
 }
 // finaliza o programa
allegro_exit();
}
END_OF_MAIN();



Um exemplo de execução desse programa pode ser visto nesse video:



Este programa é simples embora utilize uma função C chamada srand() para inicializar o lançamento de números aleatórios. Este programa executa um loop esperando a tecla ESC ser presionada, durante o qual um pixel de cor e localização aleatória é desenhado com a função putpixel().

Clique aki para baixar esse exemplo.


Nenhum comentário:

Postar um comentário