У меня есть небольшая проблема, что я думаю, не может быть трудно.
но почему-то я скучаю по этой "не может быть сложной" части:).
Я получил код, который читает цвета изображения:
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.four_colors);
//define the array size
rgbValues = new int[bmp.getWidth()][bmp.getHeight()];
//Print in LogCat's console each of one the RGB and alpha values from the 4 corners of the image
//Top Left
for (int j = 0; j < 1000; j++){
for (int k = 0; k < 1000; k++){
Log.i("Pixel Value", "pixel x="+j +k + Integer.toHexString(bmp.getPixel(j, k)));
test = Integer.toHexString(bmp.getPixel(j, k));
}
}
//get the ARGB value from each pixel of the image and store it into the array
for(int i=0; i < bmp.getWidth(); i++)
{
for(int j=0; j < bmp.getHeight(); j++)
{
//This is a great opportunity to filter the ARGB values
rgbValues[i][j] = bmp.getPixel(i, j);
}
}
System.out.println(PixelNumber);
System.out.println(test);
}
Этот код работает как брелок.
Но я попытался реализовать оператор if, например:
if (color == black){
number++;
}
Таким образом, каждый пиксель, который он видит черным, должен увеличивать число на 1.
Попробовал почти все, что я мог, чтобы сделать хороший оператор if вокруг этого кода, но, похоже, ничего не работает.
Так что же является правильным местом и если заявление сделать в этом коде?
И, может быть, если у вас есть больше времени (не прилагайте слишком много усилий, если вы этого не хотите), можно ли проверить цветовую гамму вместо только одного цвета, поэтому он выбирает все зеленые цвета. (аналогично цветовой гамме в фотошопе).