#java #android #bitmap #android-bitmap #bitmapfactory
#java #Android #растровое изображение #android-bitmap #bitmapfactory
Вопрос:
У меня есть следующий код:
Bitmap bitmap = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_4444);
for (int y = 0; y < HEIGHT; y ) {
for (int x = 0; x < WIDTH; x ) {
int index = y * WIDTH x;
bitmap.setPixel(x, y, Color.argb(255, 0, mask[index],0)); // mask is an array of int between 0 and 255
}
}
Это работает правильно: я получаю свое растровое изображение, но … этот код действительно очень медленный.
Я попытался заменить его на:
Bitmap bitmap = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_4444);
bitmap.setPixels(mask, 0, WIDTH, 0, 0, WIDTH, HEIGHT);
но это не работает. Я получаю черное изображение.
Кто-нибудь может помочь?
Спасибо!
Комментарии:
1. Что
mask
именно?setPixels
ожидается массив целых чисел цвета. В циклической версии вы создаете цвет из значения маски, но в другой версии вы этого не делаете.2. Большое спасибо! Я, наверное, немного устал вчера вечером 🙂 Да, мне нужно заменить значения моего массива цветами! Спасибо.