При работе с BufferedImage с использованием методов setRGB и getRGB я заметил две вещи:
методы setRGB и getRGB могут быть невероятно медленными в некоторых системах (на два порядка медленнее, чем модификация массива int []).
нет никакой гарантии, что getRGB после setRGB вернет тот же пиксель, который вы пропустили
Этот последний пункт в основном довольно ясен из JavaDoc * set 10 * * setRGB , который гласит:
... Для изображений с IndexColorModel,
индекс с ближайшим цветом
Избранный.
Видно, я могу работать непосредственно в пикселях int [] BufferedImage, к которым я могу получить доступ, например:
int[] a = ((DataBufferInt) tmp.getRaster().getDataBuffer()).getData();
Мне было интересно: есть ли какие-то известные недостатки / недостатки при прямом манипулировании пикселями в int[]
?