Ola pessoal estou com um problema e preciso resolver até hoje a noite.
Estou lendo um arquivo pgm, utilizando o BufferedReader. ele carrega a imagem normalmente. o problema
é que ele carrega a imagem em um tom bem escuro, extremamente difícil de enchergar.
No pgm a cor de cada pixel é representado por um número, e cada elemento de uma matriz é um pixel.
O pixel 255 é o branco e o 0 é o preto, o problema é que ele não renderiza corretamente.
Segue um exemplo do meu código.
criei uma classe Image que armazena a matriz com o valor de cada pixel e o número de pixel em x e y.
public BufferedImage bufImage toBufferedImage(){
BufferedImage bufImage = new BufferedImage(yLength,xLength,BufferedImage.TYPE_USHORT_GRAY);
for(int i = 0; i<this.getxLength();i++){
for(int j = 0; j<this.getyLength();j++){
imagem.setRGB(j, i, this.getMatriz()[i][j]);
}
}
return bufImage
}
Aqui eu carrego ele no meu Panel
public void actionPerformed(java.awt.event.ActionEvent e) {
Imagem imagem = Teste1.lerImagem(manip.abrirArquivo());
imagePanel.setImage(imagem.toBufferedImage());
imagePanel.validate();
imagePanel.setSize(imagem.getyLength(),imagem.getxLength());
getJPanel().repaint();
//jLabel1.setIcon(criarImagem(imagem));
}
Se alguem souber um algoritmo para rotacionar a imagem eu agradeço também.