Trabalhando na matriz de pixels int [] de BufferedImage
Ao trabalhar com BufferedImage usando osetRGB egetRGB métodos, notei duas coisas:
asetRGB egetRGB Os métodos podem ser incrivelmente lentos em alguns sistemas (até duas ordens de magnitude mais lentas que a modificação do array int []).
não há garantia de que umgetRGB Depois de umasetRGB devolverá o mesmo pixel que você passou
Este último ponto é basicamente bastante claro no JavaDoc desetRGB, quais Estados:
... Para imagens com um IndexColorModel, o índice com a cor mais próxima é escolhido.
Visto que posso trabalhar diretamente nos pixels int [] de um BufferedImage, aos quais posso acessar, por exemplo:
int[] a = ((DataBufferInt) tmp.getRaster().getDataBuffer()).getData();
Fiquei me perguntando: existem desvantagens / truques conhecidos ao manipular pixels diretamente noint[]
?