Альтернатива Color.valueOf для API уровня <26? - PullRequest
0 голосов
/ 26 августа 2018

В настоящее время я работаю с Bitmap и пытаюсь выполнить некоторые операции с пикселями.Я хотел использовать Color.argb() и Color.valueOf(), но они не работают для уровня API <26. </p>

Есть ли какая-либо библиотека или что-то подобное, что может работать с любым уровнем API> 21?

Вот часть функции, которую я использую:

int width =  myBitmap.getWidth();
int height = myBitmap.getHeight();
Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
int [] allpixels = new int [ bmp.getHeight()*bmp.getWidth()];
myBitmap.getPixels(allpixels, 0, bmp.getWidth(), 0, 0, bmp.getWidth(),bmp.getHeight());
bmp.setPixels(allpixels, 0, width, 0, 0, width, height);

for(int i =0; i<bmp.getHeight()*bmp.getWidth();i++) {
    allpixels[i] = Color.argb(
        Color.valueOf(allpixels[i]).red(),
        Color.valueOf(allpixels[i]).red(),
        Color.valueOf(allpixels[i]).green(),
        Color.valueOf(allpixels[i]).blue());
}

1 Ответ

0 голосов
/ 26 августа 2018

Используйте версию argb(), которая принимает int вместо float.Это было со времен API уровня 1.

...