Конвертировать массив int в bufferedImage в Java

Мне было интересно, как я могу построить массив int в Java в буферизованном изображении. Я знаю, что вы можете получить массив INT в Java, выполнив

int[] srcpixels = ((DataBufferInt)in.getRaster().getDataBuffer()).getData();

но я не знаю, как сделать это по-другому. Мне нужно это, чтобы применить эффект "рыбий глаз" к буферизованному изображению, которое я узнал, как это сделать здесь http://popscan.blogspot.com/2012/04/fisheye-lens-equation-simple-fisheye.html но он работает только с массивы int. Пожалуйста, помогите, спасибо.

1 ответ

Используйте WritableRaster:

final int w = bitmap.getWidth();
final int h = bitmap.getHeight();

final WritableRaster wr = bitmap.getData();
int []data = wr.getPixels(0, 0, w, h, data);

// do processing here

wr.setPixels(0, 0, w, h, data); 
Другие вопросы по тегам