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[]?

questionAnswers(2)

yourAnswerToTheQuestion