图片取模问题
我在用Bmp2RGB.exe将240*320的bmp文件生成16bit的数组时,能显示出图片,但是显示出来的缺乏红色,也就是RGB三基色里面唯独红色没有显示,造成图片颜色失真
后来我又分别将全红,全绿,全蓝的图片分别显示,也唯独红色显示出来的是黑色,其他两种都正常显示
再接着我又准备生成18Bit的数组时,结果发现Bmp2RGB.exe不能生成18bit,生成的.h文件只有1KB
代码如下
u32 shift_picture(u32 color)
{
u32 r,g,b;
u32 out_color = 0;
r = (color & 0xFF0000) >> 16;//16位的数组文件在这里的结果只会是0,也就是丢掉红色的原因所在
g = (color & 0x00FF00) >> 8;
b = color & 0x0000FF;
switch(u8_LCDPixelFormat)//这里是图片显示格式,主函数里手动赋值为5或6都可以
{
case 3: // 12-bit
{
r = r >> 4;
g = g >> 4;
b = b >> 4;
out_color = (r <
break;
}
case 5: // 16-bit
{
r = r >> 3;