Я пытаюсь понять, как использовать API image.getRgb(). для тестирования я просто копирую и показываю точное изображение, но не смог заставить его работать с кодом:
int picWidth = (int) image.width();
int picHeight = (int) image.height();
buf = new int[picWidth * picHeight];
image.getRgb(0, 0, picWidth, picHeight, buf, 0, picWidth);
int color = 0;
for(int y=0; y < picHeight; y ++) {
for(int x=0; x < picWidth; x++) {
color = buf[x*y];
layer.surface().setFillColor(color);
layer.surface().fillRect(x,y, 1, 1);
}
}
Я ожидаю, что приведенный выше код копирует попиксельно в буфер, а затем отображает точно такое же изображение на поверхности. Тем не менее, вот мое исходное изображение и изображение результата:
Исходное изображение
Изображение результата
Думаю, я неправильно понимаю API getRgb(), как правильно его использовать? Спасибо.