Я пытаюсь сделать некоторые фотофильтры в Android и у меня есть кодфильтр Android фото
for(int x = 0; x < width; ++x) {
for(int y = 0; y < height; ++y) {
// get pixel color
pixel = src.getPixel(x, y);
A = Color.alpha(pixel);
R = Color.red(pixel);
G = Color.green(pixel);
B = Color.blue(pixel);
do some work here
bmOut.setPixel(x, y, Color.argb(A, R, G, B));
И это очень-очень медленно, и это невозможно сделать что-либо. Есть ли другой способ сделать это?
Использование цветовых матриц. Вместо того, чтобы обрабатывать пиксель за один раз в вложенном цикле, они одновременно работают со всем изображением. Вы можете сделать много эффектов - например, преобразование оттенков серого, тонирование сепии, инвертирование, постер, регулировка яркости, ... –
Могу ли я делать все возможное с помощью цветных матриц? Можете ли вы дать мне несколько советов о цветовых матрицах? – encrypt
Вы можете сделать цветовые эффекты. Google 'android colormatrix'. Google ColorMatrix для поиска большего количества ColorMatrices. –