共2条
1/1 1 跳转至页
,24BIT,16BIT 请教:24BIT的真彩色,怎么转换成16BIT的
问
自己弄了一个简单的,偏色很严重。
RT,谢谢。 答 1: 量化啊 答 2: 这样
//RGB转8位色
U16 RGBto08B(U32 dwRGB)
{
U8 R,G,B;
R=(dwRGB>>16)&0xff;
G=(dwRGB>>8)&0xff;
B=(dwRGB>>0)&0xff;
R=R&0xe0;
G=G&0xe0;
B=B&0xc0;
return (R+(G>>3)+(B>>6));
}
//RGB转16位色
U16 RGBto16B(U32 dwRGB)
{
U16 R,G,B;
R=(dwRGB>>16)&0xff;
G=(dwRGB>>8)&0xff;
B=(dwRGB>>0)&0xff;
R=R&0xf8;
G=G&0xfc;
B=B&0xf8;
return ((R<<8)+(G<<3)+B>>3);
}
答 3: RE谢谢楼上的帮忙
我试了下:
//RGB转16位色
U16 RGBto16B(U32 dwRGB)
{
U16 R,G,B;
R=(dwRGB>>16)&0xff;
G=(dwRGB>>8)&0xff;
B=(dwRGB>>0)&0xff;
R=R&0xf8;
G=G&0xfc;
B=B&0xf8;
return ((R<<8)+(G<<3)+B>>3);
}
这个还是偏的。可能是我屏的问题了。
答 4: 做法不对,应该用色彩抖动。做法不对,应该用色彩抖动。旁边的色彩需要对前面的偏色进行调和补充,所有的点依次类推。
RT,谢谢。 答 1: 量化啊 答 2: 这样
//RGB转8位色
U16 RGBto08B(U32 dwRGB)
{
U8 R,G,B;
R=(dwRGB>>16)&0xff;
G=(dwRGB>>8)&0xff;
B=(dwRGB>>0)&0xff;
R=R&0xe0;
G=G&0xe0;
B=B&0xc0;
return (R+(G>>3)+(B>>6));
}
//RGB转16位色
U16 RGBto16B(U32 dwRGB)
{
U16 R,G,B;
R=(dwRGB>>16)&0xff;
G=(dwRGB>>8)&0xff;
B=(dwRGB>>0)&0xff;
R=R&0xf8;
G=G&0xfc;
B=B&0xf8;
return ((R<<8)+(G<<3)+B>>3);
}
答 3: RE谢谢楼上的帮忙
我试了下:
//RGB转16位色
U16 RGBto16B(U32 dwRGB)
{
U16 R,G,B;
R=(dwRGB>>16)&0xff;
G=(dwRGB>>8)&0xff;
B=(dwRGB>>0)&0xff;
R=R&0xf8;
G=G&0xfc;
B=B&0xf8;
return ((R<<8)+(G<<3)+B>>3);
}
这个还是偏的。可能是我屏的问题了。
答 4: 做法不对,应该用色彩抖动。做法不对,应该用色彩抖动。旁边的色彩需要对前面的偏色进行调和补充,所有的点依次类推。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 告别手动建模:我让AI用FreeCAD画了个开发板外壳被打赏¥30元 | |
| 【瑞萨RA8D1测评】总结收官——从IMU动作识别到LVGL桌宠被打赏¥33元 | |
| 【瑞萨BLE/WIFI模块测评】MPU6050双链路对比被打赏¥30元 | |
| 【瑞萨BLE/WIFI模块测评】DA14531被打赏¥28元 | |
| 【瑞萨BLE/WI-FI模块测评】DA16200被打赏¥28元 | |
| 【瑞萨BLE/WIFI模块测评】环境搭建被打赏¥32元 | |
| 【瑞萨RA8D1测评】LVGL显示动画被打赏¥30元 | |
| 【瑞萨RA8D1测评】IMU动作识别的数据采集与模型训练被打赏¥33元 | |
| 【S32K3学习整理】时钟系统 ClockOut 功能被打赏¥28元 | |
| 【S32K3学习整理】以太网LoopBack模式功能验证被打赏¥26元 | |
我要赚赏金
