我在图像采集卡拉到的数据是RGB565的,请问如何显示在屏幕上???

justyk 2005-02-18 10:42:07
希望不用directdraw
,用DC,同时不要转换运算,可以吗
...全文
252 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanstar200 2005-02-22
  • 打赏
  • 举报
回复
http://blog.csdn.net/lanstar200/archive/2004/08/04/60346.aspx
zyl910 2005-02-22
  • 打赏
  • 举报
回复
有三种方法:

1.用SetDIBitsToDevice、StretchDIBits绘制DIB
参数应该好理解
主要是填充好BITMAPINFOHEADER结构的问题
因为16位DIB默认是555格式
要想使用565格式的DIB
必须先将BITMAPINFOHEADER.biCompression设为BI_BITFIELDS
再在BITMAPINFOHEADER结构后面添上RGB分量的掩码

2.使用DIBSection
如果你的图像大小与颜色格式不会发生变化的话,用DIBSection是最方便的
事先使用CreateDIBSection创建DIBSection(注意BITMAPINFOHEADER结构问题),并选入DC
具体显示图像时:
将图像数据复制到CreateDIBSection的ppvBits参数返回的地址
然后可以直接用BitBlt等GDI函数绘制图像

3.使用SetDIBits将DIB图像数据设置到HBITMAP
事先使用CreateCompatibleBitmap创建与你的图像一样宽的HBITMAP
具体显示图像时:
使用SetDIBits将DIB图像数据设置到HBITMAP(注意BITMAPINFOHEADER结构问题)
现在那个HBITMAP中的图像就是你的图像了,你像怎么显示就怎么显示


API函数参考可以看MSDN
关于DIB位图处理可以看Charles Petzold的Programming Windows(对DIB讲的很详细,而且该书的电子版网上随处可见)


pomelowu 2005-02-22
  • 打赏
  • 举报
回复
显示256色位图。
Wyhshp 2005-02-18
  • 打赏
  • 举报
回复
用DC不用转换即可。
BMP头里面要设置一下

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧