Подтвердить что ты не робот

Как изменить цвет определенных пикселей в растровом андроиде

У меня есть растровое изображение, что я хочу изменить определенные пиксели. У меня есть данные из растрового изображения в массив, но как бы установить цвет пикселей в этом массиве?

спасибо

int[] pixels = new int[myBitmap.getHeight()*myBitmap.getWidth()];
            myBitmap.getPixels(pixels, 0, myBitmap.getWidth(), 0, 0, myBitmap.getWidth(), myBitmap.getHeight());

            for(int i =0; i<500;i++){
                //Log.e(TAG, "pixel"+i +pixels[i]);
4b9b3361

Ответ 1

Чтобы установить цвета пикселей в массиве pixels, получите значения из статических методов Android Color класса и назначьте их в ваш массив. Когда вы закончите, используйте setPixels, чтобы скопировать пиксели обратно в растровое изображение.

Например, чтобы повернуть первые пять строк синтаксиса растрового изображения:

import android.graphics.Color;

int[] pixels = new int[myBitmap.getHeight()*myBitmap.getWidth()];
myBitmap.getPixels(pixels, 0, myBitmap.getWidth(), 0, 0, myBitmap.getWidth(), myBitmap.getHeight());
for (int i=0; i<myBitmap.getWidth()*5; i++)
    pixels[i] = Color.BLUE;
myBitmap.setPixels(pixels, 0, myBitmap.getWidth(), 0, 0, myBitmap.getWidth(), myBitmap.getHeight());

Вы также можете установить цвет пикселя в объекте Bitmap по одному без необходимости настраивать буфер пикселей с помощью метода setPixel():

myBitmap.setPixel(x, y, Color.rgb(45, 127, 0));