是高手的请进,关于截图的问题。 hover:程序员大本营2000 VC+VB CD有个文章(中文)将如何将截取当前窗口中的一段图象到Clipboard 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CDC *pDC; pDC = GetDC(); CBitmap bitmap; CDC dcMemory; bitmap.LoadBitmap(bitmap); dcMemory.CreateCompatibleDC(pDC); dcMemory.SelectObject(&bitmap); pDC->BitBlt(130,31,150,200,&dcMemory,0,0,SRCCOPY);你只要把你要的图象存到bitmap里面就可以了,至于怎么存,跟这段程序差不多,其实是逆向,自己翻翻MSDN吧 忘记说了,你多看看bitblt()这个函数,和它相关的函数,以及使用,应该会对你帮助。这几个类比较重要CDC,CBitmap void CMailDlg::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here CBitmap bmp; CDC mdc; CRect rc(0,0,30,30); mdc.CreateCompatibleDC(&dc); bmp.CreateCompatibleBitmap(&dc,rc.Width(),rc.Height()); CBitmap *pOldbmp=mdc.SelectObject(&bmp); dc.TextOut(0,0,"str"); mdc.BitBlt(0,0,rc.Width(),rc.Height(),&dc,0,0,SRCCOPY); CDC mdc2; mdc2.CreateCompatibleDC(&dc); mdc2.SelectObject(&bmp); dc.BitBlt(0,0,rc.Width(),rc.Height(),&mdc2,30,30,SRCCOPY);}To:cloudstrife(c_cloud) 还是绘不出来。上面的程序错在哪里? 图像是保存在内存DC里呢还是在CBitmap里好呢,可以把它们做成类成员吗? CDC mdc2;mdc2.CreateCompatibleDC(&dc);mdc2.SelectObject(&bmp);dc.BitBlt(0,0,rc.Width(),rc.Height(),&mdc2,30,30,SRCCOPY);改成:CDC mdc2;mdc2.CreateCompatibleDC(&dc);mdc.SelectObject(pOldbmp); //将bmp释放pOldbmp = mdc2.SelectObject(&bmp);dc.BitBlt(30,30,rc.Width(),rc.Height(),&mdc2,0,0,SRCCOPY);//这里原来是dc.BitBlt(0,0,rc.Width(),rc.Height(),&mdc2,30,30,SRCCOPY);//而mdc2的(30,30)位置已经超出它的范围了,应该改成(0,0)才对。mdc2.SelectObject(pOldbmp);//bmp.DeleteObject();mdc.DeleteDC();mdc2.DeleteDC();图像可以保存在一个memory DC中,前提是这个memory DC中已经选入了一个CBitmap。它们都可以做成类的成员。但是别忘了在类销毁时释放它们。 图象存在cbitmap里面,再用dc导入 救命啊!请教多视图的问题 立方体六个面,不同纹理DX 关于注入API修改导入表时出现的访问冲突问题,研究了一周,实在没有办法了,请各位帮忙看看,付源码下载 当用户用鼠标双击一个文本文件时,自动删除该文件 奇怪的多线程服务器内存问题。 高分求一个数据库问题的解决方法~~~~ Word的docx文档如何实现控件数据的永久化 关于VC安装的问题 编译无法通过 20分的问题 就目前来看有VC有哪些开发的方面? 向大家请教GDI方式实现动画的问题
pDC = GetDC();
CBitmap bitmap;
CDC dcMemory;
bitmap.LoadBitmap(bitmap);
dcMemory.CreateCompatibleDC(pDC);
dcMemory.SelectObject(&bitmap);
pDC->BitBlt(130,31,150,200,&dcMemory,0,0,SRCCOPY);
你只要把你要的图象存到bitmap里面就可以了,至于怎么存,跟这段程序差不多,其实是逆向,自己翻翻MSDN吧
这几个类比较重要
CDC,CBitmap
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CBitmap bmp;
CDC mdc;
CRect rc(0,0,30,30); mdc.CreateCompatibleDC(&dc);
bmp.CreateCompatibleBitmap(&dc,rc.Width(),rc.Height());
CBitmap *pOldbmp=mdc.SelectObject(&bmp);
dc.TextOut(0,0,"str");
mdc.BitBlt(0,0,rc.Width(),rc.Height(),&dc,0,0,SRCCOPY); CDC mdc2;
mdc2.CreateCompatibleDC(&dc);
mdc2.SelectObject(&bmp);
dc.BitBlt(0,0,rc.Width(),rc.Height(),&mdc2,30,30,SRCCOPY);
}To:cloudstrife(c_cloud) 还是绘不出来。上面的程序错在哪里? 图像是保存在内存DC里呢还是在CBitmap里好呢,可以把它们做成类成员吗?
mdc2.CreateCompatibleDC(&dc);
mdc2.SelectObject(&bmp);
dc.BitBlt(0,0,rc.Width(),rc.Height(),&mdc2,30,30,SRCCOPY);
改成:CDC mdc2;
mdc2.CreateCompatibleDC(&dc);
mdc.SelectObject(pOldbmp); //将bmp释放
pOldbmp = mdc2.SelectObject(&bmp);
dc.BitBlt(30,30,rc.Width(),rc.Height(),&mdc2,0,0,SRCCOPY);
//这里原来是dc.BitBlt(0,0,rc.Width(),rc.Height(),&mdc2,30,30,SRCCOPY);
//而mdc2的(30,30)位置已经超出它的范围了,应该改成(0,0)才对。mdc2.SelectObject(pOldbmp);
//bmp.DeleteObject();
mdc.DeleteDC();
mdc2.DeleteDC();图像可以保存在一个memory DC中,前提是这个memory DC中已经选入了一个CBitmap。它们都可以做成类的成员。但是别忘了在类销毁时释放它们。