Estou fazendo um programa em JAVA que abre imagens do meu PC e preciso que ele varra os pixels dessa imagem, identifique o RGB e substitua algumas cores. Seria um aplicativo para daltônicos. Que altere a tonalidade de verde por exemplo, ou até troque por outra cor para facilitar a visualização de pessoas com essa limitação.
Não domino muito a programação, por isso peço paciência de vcs comigo e agradeço desde já. Muito obrigado pelo espaço.
Você pode carregar sua imagem em um BufferedImage e percorrer os pixels com getPixel(), e alterar com setPixel(). Com Java2D, existem métodos que facilitam essa manipulação também. Veja por exemplo: https://docs.oracle.com/javase/tutorial/2d/index.html
Abraço.
staroski
Exemplo hipotético:
importjava.awt.image.BufferedImage;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjavax.imageio.ImageIO;publicclassTrocadorCores{publicstaticvoidmain(String[]args){try{TrocadorCorestrocadorCores=newTrocadorCores();trocadorCores.executar();}catch(Throwablet){t.printStackTrace();}}privatevoidexecutar()throwsIOException{BufferedImageimagem=ImageIO.read(newFileInputStream("/caminho-da-imagem"));intlargura=imagem.getWidth();intaltura=imagem.getHeight();for(intx=0;x<largura;x++){for(inty=0;y<altura;y++){intpixel=imagem.getRGB(x,y);pixel=trocarCor(pixel);imagem.setRGB(x,y,pixel);}}ImageIO.write(imagem,"formato",newFileOutputStream("/caminho-da-imagem"));}privateinttrocarCor(intcorOriginal){intcorTrocada=// aqui você implementa as regras para trocar a cor de um pixelreturncorTrocada;}}
P
PauloAlmeida11 like
Muito obrigado pelo exemplo!!
Vou trabalhar em cima desse código.