挑战一下,最简单的问题,看看CSDN高手的水平

ChangeMyHead 2005-12-02 09:22:47
具体如下:

现在有一个解码还原的RGB24 Buff要一帧一帧画指定的到界面上。怎么处理?
已经得到数据Buff和高 宽。当然一定要快,不能占用过多的CPU。

1、buff中的数据格式是RGB24(就是一个不带BMP头的bmp文件);
2、关键是不会怎么贴到屏幕DC上;
...全文
357 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzzqqq 2005-12-09
  • 打赏
  • 举报
回复
创建与DC兼容的内存DC
用SetBitmap把位图贴到内存DC.
用BitBlt把内存DC贴到DC
x12099256 2005-12-09
  • 打赏
  • 举报
回复
贴子题目怎么这么恶心,有点想吐,会也不会来回答
rainliuyu 2005-12-09
  • 打赏
  • 举报
回复
BITMAPINFOHEADER bminfo;
memset(&bminfo,0,sizeof(BITMAPINFOHEADER));
bminfo.biSize=sizeof(BITMAPINFOHEADER);
bminfo.biPlanes=1;
bminfo.biBitCount=24;
bminfo.biCompression=BI_RGB;
bminfo.biWidth=m_pPreviewBuffer->width;
bminfo.biHeight=m_pPreviewBuffer->height;
bminfo.biSizeImage=0;

SetStretchBltMode(hDC,HALFTONE);
StretchDIBits(hDC,....width,height,buffer,
(BITMAPINFO*)&bminfo,DIB_RGB_COLORS,SRCCOPY);
ChangeMyHead 2005-12-08
  • 打赏
  • 举报
回复
大家关心一下这个问题
http://community.csdn.net/Expert/topic/4380/4380435.xml?temp=.5551416
Featured 2005-12-03
  • 打赏
  • 举报
回复
楼主狡猾的有

这个属于小蔡级别的DX题。鉴定完毕
nlstone 2005-12-03
  • 打赏
  • 举报
回复
你的问题在于你不会DirectDraw,自己看书...
ctxhn 2005-12-03
  • 打赏
  • 举报
回复

MARK
cwyaisxp 2005-12-03
  • 打赏
  • 举报
回复
...
菜牛 2005-12-02
  • 打赏
  • 举报
回复
!!
ChangeMyHead 2005-12-02
  • 打赏
  • 举报
回复
另外,最好用两个Buff处理(双缓冲)
lisypro 2005-12-02
  • 打赏
  • 举报
回复
应该到游戏制作论坛问一下
ChangeMyHead 2005-12-02
  • 打赏
  • 举报
回复
另外也不要告诉我,一个点一个点来画,这样太慢。
最好用DirectDraw来画
ChangeMyHead 2005-12-02
  • 打赏
  • 举报
回复
靠,如果这样就不用问了。
现在希望是用DirectDraw来做。
其他参考
http://community.csdn.net/Expert/topic/4431/4431698.xml?temp=.2643091
psbeond 2005-12-02
  • 打赏
  • 举报
回复
把Bitmap生成一个HBITMAP句柄,然后用BitBlt画到DC上。
maqian 2005-12-02
  • 打赏
  • 举报
回复
补充一下.
你要装DIRECTX 8.1 以下的SDK.装9.0版本的SDK没用,里面没有DIRECTDRAW的例子.
看OverlayAnimate例子.
shmily1280 2005-12-02
  • 打赏
  • 举报
回复
MARK
ChangeMyHead 2005-12-02
  • 打赏
  • 举报
回复
TO:softman_2000(vc小虫)

我现在就是这样做的,想改为DirectX处理。
maqian 2005-12-02
  • 打赏
  • 举报
回复
这算什么,用最简单的问题来挑战CSDN高手的水平?
装个DIRECT SDK,自己找一找SDK带的sample.基本上你不用改,直接拿来用就行了.
softman_2000 2005-12-02
  • 打赏
  • 举报
回复
BITMAPINFO BmpInfo;
BmpInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
BmpInfo.bmiHeader.biWidth = m_nWidth;宽
BmpInfo.bmiHeader.biHeight = -m_nHeight;高
BmpInfo.bmiHeader.biPlanes = 1;
BmpInfo.bmiHeader.biBitCount = 24;
BmpInfo.bmiHeader.biCompression = BI_RGB;
BmpInfo.bmiHeader.biSizeImage = 0;
BmpInfo.bmiHeader.biXPelsPerMeter = 0;
BmpInfo.bmiHeader.biYPelsPerMeter = 0;
BmpInfo.bmiHeader.biClrUsed = 0;
BmpInfo.bmiHeader.biClrImportant = 0;
BYTE *pBuf = 你的图像数据的缓冲区

StretchDIBits(hDC, ...);挺快的,应该能够满足你的要求

15,979

社区成员

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

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