Uso de threads em Java para transformar em escala de cinza uma imagem enviada do cliente para o servidor através de socket.
A imagem foi dividida em um quadrante, e em cada um desses houve uma execução de thread. A partir disso, os pixels foram transformados em escala de cinza por meio da função setRGB
.
for (int x = larguraInicial; x<this.larguraFinal; x++){
for (int y = this.alturaInicial; y<this.alturaFinal; y++){
Color pixel = new Color(this.imagem.getRGB(x, y));
int corPixel = (pixel.getRed() + pixel.getGreen() + pixel.getBlue()) / 3;
this.imagem.setRGB(x, y, new Color(corPixel, corPixel, corPixel).getRGB());
}
}
try {
ImageIO.write(this.imagem, "JPG", new File("imagensResultantes/imgGrayscale.jpg"));
} catch (IOException ex) {
Logger.getLogger(Thread1.class.getName()).log(Level.SEVERE, null, ex);
}
Otávio Augusto Souza Silva.