Как извлечь отдельные пиксельные цвета из png в Android Studio? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть PNG размером 16x16 пикселей, который я импортировал как растровое изображение, и я хочу извлечь цвет каждого пикселя. У меня также есть следующий код в Android studio, где levels - это растровый массив ArrayList:

Bitmap level = levels.get(levelID);
for(int i = 0; i < level.getWidth(); i ++){
   for(int j = 0; j < level.getHeight(); j ++){
      Log.d("Color", level.getColor(i, j).toString());
   }
}

Первая проблема, с которой я столкнулся, заключается в том, что ширина и высота растрового изображения не составляют 16x16 пикселей. Вторая проблема заключается в том, что, хотя мой png содержит только черные и белые пиксели, но вывод также содержит другие значения sRGB.

Может кто-нибудь объяснить, почему это происходит, и что я могу сделать, чтобы обойти эту проблему?

Вот короткий сегмент вывода консоли:

2020-04-28 08:36:03.561 18683-18752/? D/Color: Color(0.0, 0.0, 0.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.562 18683-18752/? D/Color: Color(1.0, 1.0, 1.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.562 18683-18752/? D/Color: Color(1.0, 1.0, 1.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.582 18683-18752/? D/Color: Color(1.0, 1.0, 1.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.584 18683-18752/? D/Color: Color(1.0, 1.0, 1.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.584 18683-18752/? D/Color: Color(0.94509804, 0.94509804, 0.94509804, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.584 18683-18752/? D/Color: Color(0.6156863, 0.6156863, 0.6156863, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.584 18683-18752/? D/Color: Color(0.28627452, 0.28627452, 0.28627452, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.584 18683-18752/? D/Color: Color(0.12156863, 0.12156863, 0.12156863, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.589 18683-18752/? D/Color: Color(0.12156863, 0.12156863, 0.12156863, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.589 18683-18752/? D/Color: Color(0.105882354, 0.105882354, 0.105882354, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.589 18683-18752/? D/Color: Color(0.05882353, 0.05882353, 0.05882353, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.589 18683-18752/? D/Color: Color(0.011764706, 0.011764706, 0.011764706, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.589 18683-18752/? D/Color: Color(0.0, 0.0, 0.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.589 18683-18752/? D/Color: Color(1.0, 1.0, 1.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.591 18683-18752/? D/Color: Color(1.0, 1.0, 1.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.592 18683-18752/? D/Color: Color(1.0, 1.0, 1.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.592 18683-18752/? D/Color: Color(1.0, 1.0, 1.0, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.592 18683-18752/? D/Color: Color(0.9372549, 0.9372549, 0.9372549, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.592 18683-18752/? D/Color: Color(0.56078434, 0.56078434, 0.56078434, 1.0, sRGB IEC61966-2.1)
2020-04-28 08:36:03.592 18683-18752/? D/Color: Color(0.18431373, 0.18431373, 0.18431373, 1.0, sRGB IEC61966-2.1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...