Перекраска пикселей в растровом изображении с использованием «таблицы соответствия» - PullRequest
2 голосов
/ 17 октября 2011

ELLO,

Я ищу наиболее эффективный способ сделать следующее:

Возьмите входное изображение в виде растрового изображения, введите IMG. Отобразить каждый пиксель из введите изображение inputIMG (x, y) в новое значение, используя таблицу поиска, lookupTable, который в основном является массивом элементов размером 256x3

Если входной пиксель оценивается в RGB [192,123,154], выходной пиксель значение будет значением lookupTable (192,123,154).

Я могу легко закодировать это, проходя через входное растровое изображение попиксельно, используя Bitmap.setPixel (), но, вероятно, с этим подходом будет связано много накладных расходов из-за множества повторных вызовов, и мне было интересно, было ли больше эффективный способ сделать это?

Заранее спасибо.

1 Ответ

1 голос
/ 17 октября 2011

Если вы не хотите устанавливать каждый пиксель по отдельности, у вас есть две опции.

Один - установить патчи пикселей одновременно с setPixels(int[], int, int, int, int, int, int):

Другой -чтобы создать новое растровое изображение с использованием массива цветов: createBitmap(int[] colors, int offset, int stride, int width, int height, Bitmap.Config config)

Оба метода описаны в документах по растровому изображению Android

...