|
正常的那个是rgb565显示,第二张带点黄色的是rgb565转rgb888后显示
注意>>的优先级好像大于& 得加括号,但是这样显示的图片还是失真了,不知道有没有什么好的解决方法呢??
void Rgb565ToRgb888(int w,int h,unsigned char *rgb,unsigned char *rgb888)
{ unsigned long i; unsigned short *rgb565; unsigned char r,g,b; rgb565=(unsigned short *)rgb; for(i=0;i<w*h;i++) { //RBG r=((*rgb565)&0xf800)>>11; g=((*rgb565)&0x07e0)>>5; b=((*rgb565)&0x001f)>>0; rgb888[3*i+2]=r<<3|(r&0x07); rgb888[3*i+1]=g<<2|(g&0x03); rgb888[3*i+0]=b<<3|(b&0x07); rgb565++; }} |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|