怎么在内存里画点锕 是这样的,我对一个二维数组进行插值计算,然后给每个点用SETPIXEL()赋予颜色和位置,就可以画一副图出来了。现在的想法是把这些点先画到内存里,然后再用STRECCHBIT。可是,我不知道怎么把这些个点画到内存里,找了些资料是画BMP图片的,有没有人能教教我锕,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是画到内存还是显存?我理解的是你想画一幅图然后显示出来你这样,先建立一个bitmap,然后初始化,将对屏幕的操作转换为对该bitmap的操作然后把bitmap显示出来就好了要是显存的话,就要理解一下翻页机制了,估计你用不到啊 创建一个内存DC然后调用CDC::SetPixel就是画点了 根据当前窗口的dc创建一个memory dc,然后在memory dc上画好,最后贴到屏幕了 3楼正解."创建一个内存DC然后调用CDC::SetPixel就是画点了"程序是运行在内存中的, 通过对像句柄可进行操作, 画点,画线,画面,保存到其它地方等操作. 这个“锕”字很有特点。可以把位图选到内存DC来绘制,然后把内存DC贴到界面上。 在ONDRAW里加入 CRect rect; GetClientRect(&rect); CDC dc; CBitmap bm; bm.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height()); dc.CreateCompatibleDC(pDC); dc.SelectObject(bm); dc.Rectangle(&rect); for (int a=0;a<1500;a++) { for (int b=0;b<100;b++) { dc.SetPixel(a+500,b+100,RGB(a+100,255,255)); //pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY); } // pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,rect.Width(),rect.Height(),SRCCOPY ); } DeleteObject(bm); DeleteObject(dc); 但是没能达到效果。怎么办阿!!!!!! 说明你资料找对了啊,在内存里绘图,是离不开BMP的。首先创建一个内存DC,然后再创建一幅内存BMP,把这个BMP选入刚才创建的内存DC里,你就可以使用GDI函数绘图和复制了。用完后,别忘了销毁位图和DC。 如果用SetPixel,加StretchBlt,等于先画好再缩放一次,这样效率不高,图像大的话会很慢的,我觉得还是应该用Dib的结构,先创建一个Dib,然后根据二维数组逐点写dib,最后直接StretchDIBits xml这加密没看到过 ActiveX控件怎么和宿主程序之间通讯 怪问题,请教高人!!! 怎样改变对话框中Button的颜色?? 我做了一个文本播放器,但不能实现滚屏 VC下网络编程 [急求][暂时没有分了:(]求数值方法中的拟牛顿法的C源程序 lnk2001链接错误,各位大侠帮帮忙 怎么转换成员函数到VOID指针? 关于 OnIdle()函数的参数使用问题 请问 directshow 中如何用ISampleGrabber做连续抓帧 如何控制CEdit的输入问题
你这样,先建立一个bitmap,然后初始化,将对屏幕的操作转换为对该bitmap的操作
然后把bitmap显示出来就好了要是显存的话,就要理解一下翻页机制了,估计你用不到啊
"创建一个内存DC然后调用CDC::SetPixel就是画点了"程序是运行在内存中的, 通过对像句柄可进行操作, 画点,画线,画面,保存到其它地方等操作.
CRect rect;
GetClientRect(&rect);
CDC dc;
CBitmap bm;
bm.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
dc.CreateCompatibleDC(pDC);
dc.SelectObject(bm);
dc.Rectangle(&rect);
for (int a=0;a<1500;a++)
{
for (int b=0;b<100;b++)
{
dc.SetPixel(a+500,b+100,RGB(a+100,255,255));
//pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
}
// pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,rect.Width(),rect.Height(),SRCCOPY );
}
DeleteObject(bm);
DeleteObject(dc); 但是没能达到效果。怎么办阿!!!!!!
首先创建一个内存DC,然后再创建一幅内存BMP,把这个BMP选入刚才创建的内存DC里,你就可以使用GDI函数绘图和复制了。用完后,别忘了销毁位图和DC。