高分求,怎么把RGB数据显示到界面上啊

lsxsxs 2010-07-21 05:46:11
我建的是MFC对话框程序,添加了个Picture控件。我得到了图像数据,是YUV了,我用了方法将它转化成了RGB格式的。我该怎么把它显示到Picture控件上啊。最好不要一个点一个点的做,因为我的数据是摄像机的数据,一个点一个点的做的话,估计来不及,一秒钟十几帧。怎么能一下显示出来呢。我是把转化了的数据存到一个数组里的,也没有什么帧头这些,直接就是图像数据(不过如果要加帧头也能加上去)。谁能给我个方法啊,或者有没有直接的API函数。
...全文
144 点赞 收藏 14
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsxsxs 2010-07-22
谁能指点一下啊,把内存中的BMP图像数据显示到Picture控件上。我脑子不好使,那种读取文件显示的我就知道怎么做,从内存中直接弄就不知道了。理解不深刻
回复
lsxsxs 2010-07-22
[Quote=引用 4 楼 wltg2001 的回复:]
我建议用SetDIBits将数据先写到一个HBITMAP对象中去再贴图
[/Quote]
能说得详细一点吗,谢谢了。我现在给RGB数据加上了BMP的文件头。也算是BMP图像数据了。
回复
liuhaifeng1976 2010-07-21
没有专门的api,有公式
回复
liuhaifeng1976 2010-07-21
dingdingdingding
回复
lsxsxs 2010-07-21
不是播放视频,是从摄像机实时传回来的,实际上基本上是显示图片,但是速度一定要快
回复
askhe 2010-07-21
如果你是要播放视频的话。建议使用DriectShow或者DrawDib 这批函数。
回复
zoulie 2010-07-21
至于颜色,你看下YUV的格式说明
回复
hyblusea 2010-07-21
帮顶..
回复
lsxsxs 2010-07-21
[Quote=引用 3 楼 tttyd 的回复:]
为什么要转换成RGB呢?
DirectDraw可以直接显示YUV数据

如何使用DirectDraw直接显示YUV视频数据
http://blog.csdn.net/wtxidian/archive/2007/01/08/1476676.aspx
[/Quote]
YUV能直接显示?颜色有没有呢
回复
csl312211865 2010-07-21
一个图片,要显示在Picture控件上,难道不是一个像素一个像素画上去的吗?
你可以试试一个像素一个像素画是怎么个速度
回复
wltg2001 2010-07-21
我建议用SetDIBits将数据先写到一个HBITMAP对象中去再贴图
回复
雪影 2010-07-21
为什么要转换成RGB呢?
DirectDraw可以直接显示YUV数据

如何使用DirectDraw直接显示YUV视频数据
http://blog.csdn.net/wtxidian/archive/2007/01/08/1476676.aspx
回复
fishion 2010-07-21
用SetDIBits
回复
cdsnpeter 2010-07-21
可以做成Bitmap,Bitmap的Data可以用SetBitmapBits把你的RGB格式的Data Buffer塞进去,然后用CDC的SelectObjcet把Bitmap选进去。

不过感觉这样的方式速度上仍然无法满足你的要求把?
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告