背景
我正在编写一个简单的应用程序,其中应用程序从RGB_565格式的位图中提取像素颜色,并通过BLE将其发送到蓝牙设备
我得到 argb
格式的int []颜色,我想用RGB_565格式,所以我从 Color.red(-10267343)
中提取红色,绿色,蓝色,其中-10267343是我从 getPixel(x,y)
得到的像素的颜色
我有
red : 99
green : 85
blue : 99 //from the above color value -10267343
我的问题是如何在两个字节中添加这些红色,绿色,蓝色
我需要这种格式 |R|R|R|R|R|G|G|G|G|G|G|B|B|B|B|B|
到目前为止我尝试了这种方法
byte[] colorToByte(int c){
int r = (c >> 16) & 0xFF;
int g = (c >> 8) & 0xFF;
int b = c & 0xFF;
return new byte[]{(byte)((r&248)|g>>5),(byte)((g&28)<<3|b>>3)};
}
正如在这个答案中所建议的How to correctly convert from rgb565 to rgb888
我也尝试了这个答案,但没有运气Java image conversion to RGB565
有什么方法可以解决这个问题吗?任何帮助赞赏
1 回答