Я пытаюсь отобразить изображение на роботе Anki Vector. My Android app dr aws растровое изображение с холста, а затем использует метод createBitmap для преобразования его в формат RGB_565. Поскольку отображение здесь указано как RGB565: https://vector.ikkez.de/generated/anki_vector.screen.html#module -anki_vector.screen
createBitmap (width, height, Bitmap.Config.RGB_565);
Результат кажется успешным но цветовые каналы неверны.
RGB заказывался как BRG. В качестве обходного пути я соответственно поменял каналы местами. Но теперь оранжевый и желтый цвета, кажется, поменялись местами. Когда я рисую оранжевым, дисплей показывает желтый. Когда я рисую желтым, он становится оранжевым. В чем может быть проблема?
Для переключения каналов я использовал следующий код:
public Bitmap swapC(Bitmap srcBmp) {
int width = srcBmp.getWidth();
int height = srcBmp.getHeight();
float srcHSV[] = new float[3];
float dstHSV[] = new float[3];
Bitmap dstBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
for (int row = 0; row < height; row++) {
for (int col = 0; col < width; col++) {
int pixel = srcBmp.getPixel(col, row);
int alpha = Color.alpha(pixel);
int redC = Color.red(pixel);
int greenC = Color.green(pixel);
int blueC = Color.blue(pixel);
dstBitmap.setPixel(col, row, Color.argb(alpha,blueC,redC,greenC));
}
}
return dstBitmap;
}