Boa tarde a todos.
Estou precisando criar uma imagem com um único pixel colorido em meio a um painel branco e pra isso tentei de duas maneiras que não estão terminando no resultado desejado.
Antes de tudo, hoje eu crio uma BufferedImage, obtenho o Graphics através de getGraphics() e chamo o método fillRect(…) preenchendo-a de branco e depois:
- chamo o método setRGB(x, y, cor) passando um inteiro no formato RGB do pixel que eu quero colorir;
ou - chamo novamente o fillRect passando (x, y, 1, 1) pra que ele pinte somente 1 pixel.
Em seguida obtenho os bytes da imagem e mando salvar em um arquivo.
Na primeira situação, o arquivo salvo é apenas uma imagem em branco. Como se o setRGB nada fizesse com o pixel que eu queria que aparecesse. Na segunda, o pixel aparece na imagem salva, mas com os pixels em volta também coloridos de um cinza claro… um efeito semelhante ao que aconteceria se eu redimensionasse a imagem e ela perdesse a qualidade por conta disso.
De qualquer forma, essa última situação, por mais próxima que me atende, não pode ser aplicada pois preciso da imagem com um pixel colorido somente, sem distorções ou sujeira em volta do mesmo.
Alguém faz idéia de onde vem essa distorção ou perda de qualidade?
Obrigado!