У меня есть растровое изображение, которое я загружаю каждый пиксель в массив. Позже я пробегаю данные каждого пикселя массива и проверяю, является ли цвет КРАСНЫМ, и меняю его на ЧЕРНЫЙ. Так что, если это изображение 1024x1024, мне нужно пройти через массив длиной 1048576. Есть ли более быстрый способ обработать это. Любые советы по улучшению производительности приветствуются. Мне нужно проверить цвет изображения и изменить его. Ниже приведен пример кода.
int[] allpixels = new int[myBitmap.getHeight() * myBitmap.getWidth()];
myBitmap.getPixels(allpixels, 0, myBitmap.getWidth(), 0, 0,
myBitmap.getWidth(), myBitmap.getHeight());
for (int i = 0; i < myBitmap.getHeight() * myBitmap.getWidth(); i++) {
if (allpixels[i] == fromColor) {
allpixels[i] = toColor;
}
}
Bitmap bitmapCopy = myBitmap.copy(myBitmap.getConfig(), true);
bitmapCopy.setPixels(allpixels, 0, myBitmap.getWidth(), 0, 0,
myBitmap.getWidth(), myBitmap.getHeight());