RGB888转RGB565,wince BMP控件显示位图

  UINT8 r, g, b;  //应该会损失数据内容
  UINT16 s;
  CBitmap bmp;
  UINT16 buf[90*120];
  CFile f(_T("\\nand\\123.bmp"),CFile::typeBinary|CFile::modeRead);
  //图像翻转
  for(int i=0; i<120; i++)
  {
  for (int j=0;j<90;j++)
  {
  f.Seek(54+i*(((270+3)/4)*4)+j*3,CFile::begin);
  f.Read(&r,1);
  f.Seek(54+i*(((270+3)/4)*4)+1+j*3,CFile::begin);
  f.Read(&g,1);
  f.Seek(54+i*(((270+3)/4)*4)+2+j*3,CFile::begin);
  f.Read(&b,1);
 
  s = (((UINT16(r)<< 8) & 0xF800) | ((UINT16(g) << 3) & 0x7E0)|(UINT16(b) >> 3));
 
  buf[(120-i-1)*90+j]=s;
  }
  }
  bmp.CreateBitmap(90,120,1,16,(unsigned char*)buf);
  m_bmp.SetBitmap((HBITMAP)bmp);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值