织梦CMS - 轻松建站从此开始!

罗索

RGB565到RGB24转换

jackyhwei 发布于 2010-06-19 10:43 点击:次 
两段RGB565转RGB24(RGB888)的源代码。
TAG:

  1. #define RGB565_MASK_RED 0xF800 
  2. #define RGB565_MASK_GREEN 0x07E0 
  3. #define RGB565_MASK_BLUE 0x001F 
  4.  
  5. unsigned short *pRGB16 = (unsigned short *)lParam; 
  6. for(int i=0; i<176*144; i++) 
  7.      unsigned short RGB16 = *pRGB16; 
  8.      g_rgbbuf[i*3+2] = (RGB16&RGB565_MASK_RED) >> 11;   
  9.      g_rgbbuf[i*3+1] = (RGB16&RGB565_MASK_GREEN) >> 5; 
  10.      g_rgbbuf[i*3+0] = (RGB16&RGB565_MASK_BLUE); 
  11.      g_rgbbuf[i*3+2] <<= 3; 
  12.      g_rgbbuf[i*3+1] <<= 2; 
  13.      g_rgbbuf[i*3+0] <<= 3; 
  14.      pRGB16++; 

另一种:

  1. rgb5652rgb888(unsigned char *image,unsigned char *image888) 
  2. unsigned char R,G,B; 
  3. B=(*image) & 0x1F;//000BBBBB 
  4. G=( *(image+1) << 3 ) & 0x38 + ( *image >> 5 ) & 0x07 ;//得到00GGGGGG00 
  5. R=( *(image+1) >> 3 ) & 0x1F; //得到000RRRRR 
  6. *(image888+0)=B * 255 / 63; // 把5bits映射到8bits去,自己可以优化一下算法,下同 
  7. *(image888+1)=G * 255 / 127; 
  8. *(image888+2)=R * 255 / 63; 

 

(myyb)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201006/9669.html]
本文出处:百度博客 作者:myyb
顶一下
(8)
80%
踩一下
(2)
20%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容