3.2.4. CARGA DE IMAGENS DE FORMATOS COMUNS

 

A classe CL_Surface necessita de uma fonte para seus dados de imagem. Esses dados de imagem são oferecidos através da interface CL_PixelBuffer, que provê um buffer de pontos de imagem, que é basicamente a descrição do formato da imagem e os dados da imagem propriamente ditos.

Isso permite que sejam passados como parâmetros para a classe CL_Surface qualquer formato de imagem disponível através de buffer de pontos de imagem, como provedores JPEG (.jpg), PCX (.pcx) e Targa (.tga). Dessa forma, o construtor dessa classe irá procurar o correto provedor do buffer de pontos de imagem para carregar o arquivo informado em seu parâmetro.

O exemplo a seguir demonstra a criação de um objeto da classe CL_PixelBuffer, a partir do provedor JPEG (linha 1), a criação de um objeto CL_Surface a partir desse objeto (linha 2) e o desenho da imagem na janela (linha 3).

 

1   CL_PixelBuffer *img=new CL_JPEGProvider("dog.jpg");

2   CL_Surface surface(img);

3   img.draw(10, 10, gc);