O
conteúdo desta página está baseado no
material
criado
pela professora
Isabel
Harb Manssour.
Método | Descrição |
ImageClass(void) | Construtora da classe. Não define um tamanho para a imagem. Posteriormente o programa deve carregar um arquivo de imagem. |
ImageClass(int sizeX, int sizeY) | Construtora da classe. Cria uma imagem que terá um tamanho pré-definido. |
int Load(char *); | Carrega uma imagem JPG de disco. |
void Display(void); | Exibe a imagem na tela. Deve ser usado somente dentro do método que trata o evento de redesenho da tela, em OpenGL. |
void Delete(void); | Libera a área de memoria criada para armazenar a imagem. Não remove o objetoda memória. A partir da execução deste método pode-se executar novamente o método Load para carregar um arquivo de imagem. |
void DrawPixel(int x, int y, unsigned char r, unsigned char g, unsigned char b); | Coloca um pixel de cor (r,g,b) na coordenada (x,y) da imagem. O pixel só aparece na tela quando da próxima execução do método Display. |
void DrawLineH(int y, int x1, int x2, unsigned char r, unsigned char g, unsigned char b); | Traça uma linha horizontal entre os pontos (x1,y) e (x2,y), com a cor (r,g,b). A linha só aparece na tela quando da próxima execução do método Display. |
void DrawLineV(int x, int y1, int y2,unsigned char r, unsigned char g, unsigned char b ); | Traça uma linha vertical entre os pontos (x,y1) e (x,y2), com a cor (r,g,b). A linha só aparece na tela quando da próxima execução do método Display. |
void ReadPixel(GLint x, GLint y, unsigned char &r, unsigned char &g, unsigned char &b); | Lê da imagem a cor (r,g,b) do pixel que está na coordenada (x,y) da imagem. |
int GetPointIntensity(int x, int y); | Retorna o nível de intensidade da cor do pixel (x,y). O valor retornado pode ser considerado como o nível de cinza do ponto (x,y). |
int SizeX(); | Informa a largura da imagem em pixels. |
int SizeY(); | Informa a altura da imagem em pixels. |
void Clear(); | Limpa o conteúdo da imagem, pintado o fundo de branco. O resultado deste método só aparece na tela quando da próxima execução do método Display. |
void SetPos(int X, int Y); | Posiciona o canto superior direito da imagem na coordenada (x,y) da janela. |
void
SetZoomH(float H); void SetZoomV(float V); |
Métodos que definem o nível de zoom para a exibição da imagem. A imagem só é atualizada na tela quando da próxima execução do método Display. |
float
GetZoomH(); float GetZoomV(); |
Métodos que informam o nível de zoom que stá sendo usado para a exibição da imagem. |
Compile e execute o programa. Pressio a tecla 2. Além disso, a única opção implementada é a tecla ESC para sair do programa. Ao ser pressionada qualquer tecla, o programa exibe uma nova imagem ao lado da original (que por enquanto é igual a ela).
Observe atentamente o código para entender o seu funcionamento. Depois realize as tarefas 1 à 7 especificadas ao longo do código. O único arquivo que deve ser alterado é o ImageTestNew.cpp, e a imagem a ser alterada está no atributo nova. Para facilitar, estas tarefas foram listadas a seguir.
Observações:
- para todas as tarefas experimente alterar as imagens pressionando as
teclas F6 (avança) e F7 (volta);
- analise o método keyPressed
e verifique as teclas que podem ser usadas no programa para testar cada
tarefa que for implementada.