[Android] convert the RGB565 to RGB24

以下這個轉換應該是很有可能會需要的。

private void conv_rgb565_to_rgb24(int [] out, byte [] data, int width, int height) {
int pos = 0;
int bound = (width * height) << 1;
for (int i = 0; i < bound; ++i) {
int lo = ((int) data[i] & 0x00FF);
int hi = ((int) data[i + 1] & 0x00FF);
int rgb = (hi << 8) | lo;
int r = (rgb & 0xF800) >> 11;
int g = (rgb & 0x07E00) >> 5;
int b = rgb & 0x001F;
r <<= 3;
g <<= 2;
b <<= 3;
out[pos++] = 0xff000000 | r << 16 | g << 8 | b;
}
}

如果需要的是C或C++ code,就自己轉換一下吧。

發佈留言