如何解决CDC画图内存泄漏的问题 [问题点数:27分,结帖人nabasasun]

Bbs2
本版专家分:383
结帖率 99.31%
Bbs7
本版专家分:21905
Blank
红花 2013年3月 VC/MFC大版内专家分月排行榜第一
2013年2月 VC/MFC大版内专家分月排行榜第一
2013年1月 VC/MFC大版内专家分月排行榜第一
Bbs7
本版专家分:21905
Blank
红花 2013年3月 VC/MFC大版内专家分月排行榜第一
2013年2月 VC/MFC大版内专家分月排行榜第一
2013年1月 VC/MFC大版内专家分月排行榜第一
Bbs7
本版专家分:16582
Bbs2
本版专家分:383
Bbs7
本版专家分:16582
Bbs2
本版专家分:383
Bbs2
本版专家分:383
Bbs7
本版专家分:21905
Blank
红花 2013年3月 VC/MFC大版内专家分月排行榜第一
2013年2月 VC/MFC大版内专家分月排行榜第一
2013年1月 VC/MFC大版内专家分月排行榜第一
Bbs1
本版专家分:79
Bbs7
本版专家分:16582
Bbs2
本版专家分:383
Bbs1
本版专家分:79
Bbs2
本版专家分:145
Bbs2
本版专家分:383
Bbs1
本版专家分:0
CDC画图详解
CDC<em>画图</em>,CDC,常用的各种CDC<em>画图</em>方法讲解。非常实用的CDC学习教程
CDC画图一问
在用CDC<em>画图</em>的时候,出现的<em>问题</em>:在经过不知几百次的<em>画图</em>之后,出现了错误,内存为0x00..04的内存不能为读rn我不知道是哪一方面的<em>问题</em>,请指教rn主要相关代码:rnvoid CButtonColor::SetColor(CBasicButton *inButton,char* inText,COLORREF inRectColor,COLORREF inTextColor)rnrn drawButton=inButton;rn CDC* pDC = (*drawButton).GetDC();rn CRect rectClip;rn int tempResult=0;rn (*drawButton).GetClientRect(&rectClip);rn TRACE("the button is:%d,",drawButton);rn CBrush newBrush;rn tempResult=newBrush.CreateSolidBrush(inRectColor);rn TRACE("create brush %d\n",tempResult);rn if(tempResult)rn CBrush* pOldBrush = pDC->SelectObject(&newBrush);rn pDC->FillRect(rectClip,&newBrush);rn pDC->SetTextColor(inTextColor);rn pDC->SetBkMode(TRANSPARENT);rn pDC->DrawText(inText, strlen(inText), rectClip, DT_CENTER|DT_VCENTER|DT_SINGLELINE);rn pDC->SelectObject(pOldBrush);rn newBrush.DeleteObject();rn rn rnrn出错后转到下面这个系统函数:rnCBrush* CDC::SelectObject(CBrush* pBrush)rnrn ASSERT(m_hDC != NULL);rn ~~~~~~~~~~~~~~~~~~~~~在这里检查到的m_hDC已经是null了rn HGDIOBJ hOldObj = NULL;rn if (m_hDC != m_hAttribDC)rn hOldObj = ::SelectObject(m_hDC, pBrush->GetSafeHandle());rn if (m_hAttribDC != NULL)rn hOldObj = ::SelectObject(m_hAttribDC, pBrush->GetSafeHandle());rn return (CBrush*)CGdiObject::FromHandle(hOldObj);rnrninButton是外部传过来的一个button指针,开始我担心是inButton句柄并没有传过来,所以打出button来查看rn后来查看了一下trace纪录,发现每次drawbutton都是正确的。不知道这个<em>问题</em>到底是我没有正确使用画笔呢,还rn是inButton没有正确传过来呢?(全程序的思想是做一个信号灯,每个button由一个线程控制,调用画笔改变颜色rn语句如下:rn CButtonColor bColor;rn bColor.SetColor(&alarmButton[myId],"alarm",RED,BLACK);rn Sleep(300);rn bColor.SetColor(&alarmButton[myId],"alarm",BLUE,BLACK);rn)rn我不清楚CDC->SelectObject()是什么样的申请机制,是否属于共享区,需要互斥访问?我觉得传到rnCButtonColor::SetColor中的button 句柄应该是正确的,不知是否如此,请大家指教
CDC画图,消除锯齿
用GDI+消除画直线的锯齿,C++ Chart的使用
MFC中CDC画图
用CDC类画多条曲线时,为什么当画其中的一条曲线的一个点时,另外一个一条曲线也跟着动,当再接收其他曲线的点时就不是连续的如图所示rn[img=https://img-bbs.csdn.net/upload/201501/04/1420333790_763445.gif][/img]rn是什么原因?
CDC类画图的一些问题
在CDC类中画椭圆是用Ellipse函数,但是好像只能用于画长轴处于水平或竖直方向的椭圆,即用于包罗椭圆的矩形只能是水平或竖直的。rn那么,长轴和水平方向有夹角的椭圆该<em>如何</em>画呢?百思不得其解……rn求高人解惑~~~~~rnrnPS:Arc函数用于画弧,但好像我画的不太对,求高人详细说明本函数参数及参数功能。rnrn谢谢~~~~
多线程用CDC画图
我在线程创建的时候传递了句柄,编译连接都没<em>问题</em>,但是就是没反应。本人是菜鸟,望各位高手指点迷津。下面是我的代码[code=C/C++][/code]rn主程序rn HWND pDCview=GetDlgItem(IDC_STATIC_ACTIVEPLOT)-> m_hWnd;rn pThread=AfxBeginThread(ThreadFunc,(LPVOID)pDCview,0,0,CREATE_SUSPENDED,NULL);rn线程代码rnUINT ThreadFunc(LPVOID lpParam)rnrn CStatic* pInfo=(CStatic*)lpParam;rnrn CDC *pDC=pInfo->GetDC();rn rnrn CPen* pPenRed = new CPen; //创建画笔对象 rn pPenRed->CreatePen(PS_SOLID, 1, RGB(255,0,0)); //红色画笔rn pDC->SelectObject(pPenRed);rn rnrn for(int i=0;iMoveTo(x, y);rn pDC->LineTo(s, t);rn Sleep(1000);rn rn return 0;rn
画图的小程序(CDC)
<em>画图</em>的小程序,可以熟悉设备环境类,图形设备接口
用CDC画图
响应lbuttondown 函数是用<em>cdc</em>导入图片rn但是隔段时间后会刷新,怎么<em>解决</em>呢
如何解决这个内存泄漏问题
在线程中传一个HWND 用于显示一些变量的值得时候出现<em>内存泄漏</em>?rnrnSetInfoWnd(HWND hwnd);rnrn;rn//Threadrn....rn::SetWindowText(hwnd ,"KKK");rnrn
如何解决MFC内存泄漏问题???
我Debug的结果:rn[code=c]rn==============> TerminateThread ProcessID:9740 ThreadID 9772, ThreadHandle:732Detected memory leaks!rnDumping objects ->rn574 normal block at 0x03052800, 366 bytes long.rn Data: << ? x m l v e > 3C 00 3F 00 78 00 6D 00 6C 00 20 00 76 00 65 00 rnf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : 545 normal block at 0x00A7C3E0, 56 bytes long.rn Data: < > 84 CF 87 00 13 00 00 00 13 00 00 00 01 00 00 00 rnf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : 542 normal block at 0x00A7F320, 130 bytes long.rn Data: < 8 8 > 84 CF 87 00 38 00 00 00 38 00 00 00 01 00 00 00 rnf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : 541 normal block at 0x00A7C2C0, 32 bytes long.rn Data: < > 84 CF 87 00 07 00 00 00 07 00 00 00 01 00 00 00 rne:\mfc_study\demologin\demologin\demologin.cpp(92) : 540 normal block at 0x00A7BB28, 20 bytes long.rn Data: < > D0 C2 A7 00 F0 C3 A7 00 98 CF 87 00 98 CF 87 00 rn498 normal block at 0x00A7C528, 140 bytes long.rn Data: 53 00 00 00 7F 00 00 00 68 74 74 70 3A 2F 2F 73 rn491 normal block at 0x00A7C370, 48 bytes long.rn Data: < D 1 > 9C D4 44 01 02 00 00 00 31 00 00 00 00 00 00 00 rn488 normal block at 0x00A7C168, 28 bytes long.rn Data: < newVersi> 0D 00 00 00 0D 00 00 00 6E 65 77 56 65 72 73 69 rn487 normal block at 0x00A7C230, 80 bytes long.rn Data: < D " > 84 D2 44 01 02 00 00 00 22 00 00 00 00 00 00 00 rn486 normal block at 0x00A7C118, 20 bytes long.rn Data: < 1.0.1.1 > 07 00 00 00 07 00 00 00 31 2E 30 2E 31 2E 31 00 rn483 normal block at 0x00A7C1C0, 48 bytes long.rn Data: < D > 9C D4 44 01 02 00 00 00 0D 00 00 00 00 00 00 00 rn480 normal block at 0x00A7BFC0, 20 bytes long.rn Data: < version > 07 00 00 00 07 00 00 00 76 65 72 73 69 6F 6E 00 rn479 normal block at 0x00A7C088, 80 bytes long.rn Data: < D > 84 D2 44 01 02 00 00 00 04 00 00 00 00 00 00 00 rn478 normal block at 0x00A7BF70, 20 bytes long.rn Data: < true > 04 00 00 00 07 00 00 00 74 72 75 65 00 CD CD CD rn475 normal block at 0x00A7C018, 48 bytes long.rn Data: < D Z > 9C D4 44 01 01 00 00 00 5A 00 00 00 00 00 00 00 rn472 normal block at 0x00A7BE18, 20 bytes long.rn Data: < result > 06 00 00 00 06 00 00 00 72 65 73 75 6C 74 00 CD rn471 normal block at 0x00A7BEE0, 80 bytes long.rn Data: < D R > 84 D2 44 01 01 00 00 00 52 00 00 00 00 00 00 00 rn470 normal block at 0x00A7BDC8, 16 bytes long.rn Data: < 0 > 01 00 00 00 01 00 00 00 30 00 CD CD CD CD CD CD rn469 normal block at 0x00A7BE70, 48 bytes long.rn Data: < D A > 9C D4 44 01 01 00 00 00 41 00 00 00 00 00 00 00 rn466 normal block at 0x00A7BC70, 24 bytes long.rn Data: < errorCod> 09 00 00 00 09 00 00 00 65 72 72 6F 72 43 6F 64 rn465 normal block at 0x00A7BD38, 80 bytes long.rn Data: < D 6 > 84 D2 44 01 01 00 00 00 36 00 00 00 00 00 00 00 rn464 normal block at 0x00A7BAD8, 16 bytes long.rn Data: < , > 01 00 00 00 01 00 00 00 2C 00 CD CD CD CD CD CD rn463 normal block at 0x00A7BCC8, 48 bytes long.rn Data: < D # > 9C D4 44 01 01 00 00 00 23 00 00 00 00 00 00 00 rn460 normal block at 0x00A7BC18, 24 bytes long.rn Data: < errorDet> 0B 00 00 00 0B 00 00 00 65 72 72 6F 72 44 65 74 rn459 normal block at 0x00A7BB88, 80 bytes long.rn Data: < D > 84 D2 44 01 01 00 00 00 16 00 00 00 00 00 00 00 rn456 normal block at 0x00A7FF88, 28 bytes long.rn Data: < versionN> 10 00 00 00 10 00 00 00 76 65 72 73 69 6F 6E 4E rn455 normal block at 0x00A7BA48, 80 bytes long.rn Data: < D > 84 D2 44 01 01 00 00 00 00 00 00 00 00 00 00 00 rn454 normal block at 0x00A7F468, 16 bytes long.rn Data: < yes > 03 00 00 00 03 00 00 00 79 65 73 00 CD CD CD CD rn450 normal block at 0x00A7F4B8, 20 bytes long.rn Data: < UTF-8 > 05 00 00 00 05 00 00 00 55 54 46 2D 38 00 CD CD rn445 normal block at 0x00A7F418, 16 bytes long.rn Data: < 1.0 > 03 00 00 00 03 00 00 00 31 2E 30 00 CD CD CD CD rn441 normal block at 0x00A7FF10, 56 bytes long.rn Data: < D > F4 D4 44 01 00 00 00 00 00 00 00 00 00 00 00 00 rne:\mfc_study\demologin\demologin\demologin.cpp(223) : 439 normal block at 0x00A7CC18, 72 bytes long.rn Data: 24 D3 44 01 00 00 00 00 00 00 00 00 00 00 00 00 rn438 normal block at 0x00A7B6E0, 401 bytes long.rn Data: 2C 00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD rn437 normal block at 0x00A7FC40, 658 bytes long.rn Data: << ? x m l v e > 3C 00 3F 00 78 00 6D 00 6C 00 20 00 76 00 65 00 rne:\mfc_study\demologin\demologin\demologin.cpp(65) : 396 client block at 0x00A7F020, subtype c0, 12 bytes long.rna CObject object at $00A7F020, 12 bytes longrnObject dump complete.rn程序“[9740] DemoLogin.exe: 本机”已退出,返回值为 0 (0x0)。rn[/code]
如何解决VideoView内存泄漏问题
如题:谷歌自身的bug,VideoView持有ActivityContext引用,导致<em>内存泄漏</em>。   <em>解决</em>方法: 1.  xml中定义容器【如果在xml定义VideoView,那么VideoView持有的是ActivityContext】 &amp;lt;RelativeLayout android:id=&quot;@+id/video_view_containe...
TWebbrowser内存泄漏问题如何解决
我在程序中动态建立TWebbrowser的实例,用完后释放实例,但是发现程序的内存却不断的增长,TWebbrowser申请的内存并没有被释放,请问这个<em>问题</em>该<em>如何</em><em>解决</em>!
如何解决MVP内存泄漏问题
//虽然说MVP相对于MVC来说比较的好用但是MVP也存在一个很大的<em>问题</em>那就是<em>内存泄漏</em> //来看这里<em>如何</em><em>解决</em>MVP<em>内存泄漏</em>的<em>问题</em> //首先在Presenter层里创建一个销毁的方法 public void onDestroy(){ myView = null; } //然后在Activity或者是Fragment里调用一下销毁的方法 @Override publi
CDC和CGdiObject派生类对象的内存泄漏问题
在OnDraw函数中定义的这些局部类对象(不是指针)是不是都不必手工调用DeleteDC和DeleteObject函数来释放内存?rn由于我的程序在运行时会不断调用OnDraw,造成可用内存数量逐渐减少,但是退出程序后可用内存数量可以完全恢复。rnOnDraw中是一些位图的BitBlt操作相关的函数调用以及一个Static int,没有任何堆内存分配和常量字符串的赋值。
简单的画图程序,使用cdc画图
简单的适合如初级的学者,希望有所帮助,挺不错的 哦
急问! 如何使用CDC画图
如题.
CDC 如何限定画图有效区域 ?
比如我得到一个pDC ;rnrn我想pDC在复杂操作的时候 只在CRect区域内有效rnrn因为CRect外的 可能是其他控件 pDC画的时候不应该把他们覆盖了rnrnhow to ?rnrn
如何解决Java内存泄漏
<em>如何</em><em>解决</em>Java<em>内存泄漏</em>
COM内存泄漏如何解决
一个服务程序,有多个线程,需要使用OLE DB访问数据库。主线程和工作线程都用CoInitializeEx(NULL, COINIT_MULTITHREADED)初始化COM,线程退出前调用CoUninitialize()。但在程序运行一段时间后发现内存持续增长,直至内存耗尽。经单步调试,终止程序时,发现占用的内存在主线程调用CoUninitialize()后释放。因此怀疑<em>内存泄漏</em>与COM有关。请教这个<em>问题</em>该<em>如何</em><em>解决</em>?
再问如何解决内存泄漏
在上一个贴里由于问到调节语音<em>问题</em>晴天帮忙给<em>解决</em>了,就先结贴了,但内存<em>问题</em>尚未<em>解决</em>。想再来问问,还请各位多多帮忙。以下就是<em>问题</em>。rn程序跑上两个多小时就会提示内存不足.我想问问EVC下面怎么检测<em>内存泄漏</em>呀?new的地方都给delete了.不知道还有什么地方需要注意的么?rnCMemoryState又不能用.大家给出出主意吧.rnrn这个是兵工厂给的答复rnnew 的比较好查出来,我觉得对未初始化的指针进行操作更恐怖,特别是在析构中。rn我一般是在vc6.0下建同样的工程,麻烦点,用工具检查。rn网上也有了ce的<em>内存泄漏</em>检查的工具,可以去找找,具体不记的了。需要插入代码的,嫌麻烦。rnrn木易的答复rn不仅是new的内存删除就可以了,如果GetDC后没有release掉也会<em>内存泄漏</em>,还有CPen,CBrush等的使用都要注意。rnrnwince控制面板中的系统中有内存信息显示,可以看看程序运行时内存的使用情况rnrn多检查程序主体循环代码rnrndy的答复rn首先自己在設計代碼時要注意自己的代碼質量,比如:在聲明一個變量時要初始化,晝量保證函數的獨立性。其次自己可以選擇一些測試工具rnrn感谢这三位朋友,大家看看还有什么给提点一下呀。rn这三位朋友也麻烦再留个言我好给分。rn
如何解决内存泄漏
PB里声明了一个组件实例,并给他分配内存空间,我使用Destroy关键字来释放内存,但内存并没有被释放,每次激活有这段代码后,内存就会被占去一块.好麻烦,运行一段时间后就会内存溢出.
如何解决afnetworking内存泄漏
写个单例就<em>解决</em>了 //<em>解决</em>AFNetworking<em>内存泄漏</em> +(AFHTTPSessionManager *)sharedHTTPSession{          static dispatch_once_t onceToken;          dispatch_once(& onceToken, ^{                  
如何解决内存泄漏
CInternetSession *inet_session;rn CFtpConnection *ftp_connect;rnrn inet_session = new CInternetSession();rn tryrn rn ftp_connect=inet_session->GetFtpConnection(m_ServerIp,m_UserId,m_Password,ftp_port,TRUE); rn rn catch(...)rn rn inet_session->Close();rn delete inet_session;rn///////////////////////////////////////////////////rnftp 失败后,退出<em>内存泄漏</em>,delete ftp_connect 非法句柄rn//////////////////////////////////////////////////rn return -1;rn rnrn ftp_connect->SetCurrentDirectory(RemotePerfPath);rn CFtpFileFind ftp_filefind(ftp_connect);rn BOOL bWorking = ftp_filefind.FindFile("*.*");rn 。。。。。rn ftp_filefind.Close();rn ftp_connect->Close();rn inet_session->Close();rn delete ftp_connect;rn delete inet_session;rn/////ftp成功时是正确的
关于内存泄漏如何解决??
///// 图的定义(在Graph.h文件中)rnrnconst int maxValue=10000;rnconst int MaxPoint=50;rnrntemplate rnclass Graphrn int maxVertices; //图中最大顶点数rn int numEdges; //当前边数rn int numVertices; //当前顶点数rn T *VerticesList; //顶点表rn E **Edge; //邻接矩阵rn int dist[MaxPoint];rnpublic: rn Graph (E **graph,int sz = 100); //构造函数rn ~Graph () //析构函数rn rn delete [ ]VerticesList; rn for ( int i = 0; i = 0 && i < maxVertices; i++)rn Edge[i] = new E[maxVertices]; //邻接矩阵 rn for (i = 0; i < maxVertices; i++) //矩阵初始化rn for (j = 0; j < maxVertices; j++)rn Edge[i][j] = graph[i][j];rn;rnrnrn//给出顶点位置为v的第一个邻接顶点的位置,如果找不到, 则函数返回-1rntemplate rnint Graph::getFirstNeighbor (int v)rnrn if (v != -1) rn rn for (int col = 0; col < numVertices; col++)rn if (Edge[v][col] >0) rn return col;rn rn return -1;rn;rnrnrn//给出顶点 v 的某邻接顶点 w 的下一个邻接顶点rntemplate rnint Graph::getNextNeighbor (int v, int w)rn rn if (v != -1 && w != -1) rn rn for (int col = w+1; col < numVertices; col++) rn if (Edge[v][col]>0) rn return col; rn rn return -1;rn;rnrnrntemplaternvoid Graph::Teleportation()rnrn //寻找增加边数最大量rn ShortestPath(0,dist);rn int n=NumberOfVertices();rn int count=0;rn for (int i=0;irn#include rn#include "time.h" rn#include "stdlib.h" rn#include "Graph.h"rnusing namespace std;rnrnint main()rnrn _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );rn time_t start,end; rn start = time(NULL); rnrn int n,m,i,j,dist[30]=0; //n是行星个数,m是已经存在的新的门户rn cout<<>n>>m;rn bool visited[100]=0;rn int **graph=(int **)new int*[n]; //构成图的二维数组rn for(i=0;i>i>>j;rn i--;j--;rn graph[i][j]=1;rn graph[j][i]=1;rn rn Graph Test(graph,n);//构造图 rn Test.Teleportation();rn Test.~Graph();rn for (i=0;i
Java画图内存泄漏
据说Java有很好的内存回收功能,不知为何,还是出现了严重的<em>内存泄漏</em><em>问题</em>,请高手帮助<em>解决</em>。rn如下是我的<em>画图</em>程序:rnpublic void paint(Graphics g)rn Image bimg = createImage(800,600);rn Graphics gimg = bimg.getGraphics();rn gimg.drawImage("aa.jpg", 0, 0, 800, 600,null); // aa.jpg is 80600rn g.drawLine(100,100,200,200) rn imageLabel.setIcon(new ImageIcon(bimg.getScaledInstance((int)(800*xscale), (int)(600*yscale),Image.SCALE_DEFAULT))); //imageLabel is a JLabel rn gimg.dispose();//release graphics resourcernrn rnrn为了实现实时<em>画图</em>,我在单独的进程里面实时的repaint()rnrnclass Ticker extends Thread rn rn public Ticker() rn start();rn rn rn public synchronized void run() rn while (true) rn try rn sleep(200);rn catch(InterruptedException e) rn System.err.println("Interrupted");rn rn if (operation==1)rn rn repaint();rn rn rn rn rn rn rnrn随后就每2秒内存增加2M左右,运行时间稍长,电脑就几乎停止响应了。rn感觉好像是由于PAINT里面不断的new对象出现导致的,但是不知道怎么处理,请高手帮忙!rn程序的目的是想实现双缓存,在画面外先将图画到bimg的内存中。rn
CDC画图实现视图放大缩小
CDC <em>画图</em>实现缩放。基于CScroolView的程序中增加一个缩放功能。
遇到的关于CDC双缓存画图的奇怪问题
我想通过定义一个类画一个物体rn代码如下:rn这个函数做初始化动作:rnvoid VelIndicator::inialIndicator(LPVOID view,double x_vel, double y_vel)rnrn xais_veloc = x_vel;rn yais_veloc = y_vel;rn rn viewdc = (CView*)view;rn dc = viewdc->GetDC();rn dc_memory.CreateCompatibleDC(dc);rn bitmap_mem.CreateCompatibleBitmap(dc,indicator_rect.BottomRight().x,rn indicator_rect.BottomRight().y);//创建和dc兼容的位图文件rn CBitmap* oldbitmap=dc_memory.SelectObject(&bitmap_mem);rn rnrn下面这个实现画面rnrnvoid VelIndicator::draw()rnrn CPen pen(PS_SOLID,3,RGB(0,128,0));rn CPen *oldPen;rnrn //仪表盘背景画刷rn CBrush brush_back(RGB(128,0,0));rn CBrush *oldBrush;rnrn oldPen = dc_memory.SelectObject(&pen);rn oldBrush = dc_memory.SelectObject(&brush_back);rn rn dc_memory.Rectangle(indicator_rect); rn dc_memory.Ellipse(indicator_rect);rnrn if(!dc->BitBlt(0, 0, indicator_rect.BottomRight().x,rn indicator_rect.BottomRight().y, &dc_memory, 0, 0, SRCCOPY))rn rn viewdc->KillTimer(1);rn AfxMessageBox("显示失败");rn rn rn dc_memory.SelectObject(oldBrush);rn dc_memory.SelectObject(oldPen);rnrn可是非常奇怪的是,我若是只调用一次draw()函数的话能够正常显示rn但是如果放在onTimer()里就显示失败.rn
关于CDC画图时的重绘问题
各位帮帮忙rn我在对话框里的edit box里进行一个实时的GPS路径<em>画图</em>(当前点和前一点的连线)rn现在有个<em>问题</em>是:rn情况一:rn我直接在屏幕DC上画时,一旦对话框别盖住后,之前的图就不见了rnrn情况二:rn我用MemDC画时,每次只能画出当前要画的线。rn原因是我是用定时器调用我的<em>画图</em>函数,每次都是重新生成一个新的DCrnrn怎么实现我在原来的MenDC上画线?rn谢谢各位了
CDC从未听说画图怪现象
CBitmap m_bitmap rnHBITMAP p=SHLoadDIBitmap(_T("\\c.bmp")); rnCBitmap m_bitmap.Attach(p); rnm_bitmap.GetBitmap(&bm); rnCDC pDC = GetDC(); rnif(!memdc.GetSafeHdc()) rn rnmemdc.CreateCompatibleDC(pDC); rnmemdc.SelectObject(&m_bitmap); rn rnpDC->StretchBlt(AX,AY,ACX,ACY,&memdc,g_ViewPortX,g_ViewPortY,ACX,ACY,SRCCOPY); rnpDC->SetBkMode(TRANSPARENT); rnpDC->MoveTo(0,ACY/2); rnpDC->LineTo(ACX,ACY/2); rnpDC->MoveTo(ACX/2,0); rnpDC->LineTo(ACX/2,ACY); rnpDC->ExtTextOut(30,30,ETO_OPAQUE,NULL,_T("1111"),NULL ); rnpDC->ExtTextOut(230,30,ETO_OPAQUE,NULL,_T("1222"),NULL ); rnpDC->ExtTextOut(30,230,ETO_OPAQUE,NULL,_T("1333"),NULL ); rnrnrn怪现象: rn1.贴图与后画的线和字不同步,好像图更新的次数多,画的有延迟和缺帧现象 rn2,写的字中只有第三行不闪烁,其余闪烁非常厉害
解决内存泄漏问题
编译、运行下列程序后。从输出结果发现没有调用 class Y 的析构函数,出现了<em>内存泄漏</em>。请尝试修改class X类的定义<em>解决</em>这个内存泄露<em>问题</em>。并提交定义class X类的代码。 class X类的定义如下: class X{ public: X() { p = new int[2]; cout << "X(). "; } ~X() { delete [] p; cou
怎样解决内存泄漏问题
我的一个程序中用了大量的指针,没办法,不用是不可能的。现在程序运行时有<em>内存泄漏</em>。请问有什么好方法能定位泄漏是在哪儿产生的,请有经验的朋友说两句。
解决webview内存泄漏问题
在项目中遇到需要使用webview来显示一些内容的情况,在整体测试<em>内存泄漏</em>的时候发现这个webview存在<em>内存泄漏</em>的<em>问题</em>.仔细排查了之后,作者在activity销毁的时候调用了webview的destory并且置为了空,然后继续测试,竟然没有任何效果.后来通过在网上查找资料,算是<em>解决</em>了这个webview的<em>内存泄漏</em>的<em>问题</em>, 参考博客: http://my.oschina.net/zhibuji/bl
内存泄漏问题解决
<em>内存泄漏</em><em>问题</em>及<em>解决</em>之前只是在书上,或者网上资料中看到过<em>内存泄漏</em>,日常开发还没有注意或经历过这种<em>问题</em>,使用常规的SpringMVC做常规的项目,很少会发生。但最近的一次项目中发生了一次内存泄露<em>问题</em>。下面就把经历的内容和<em>解决</em>的过程记录一下,以后来参考下。如果原因不准确,以后再来修改。 项目经过一段时间,会自动关停。GC后有时日志里会记录 Out of Memory Error <em>解决</em>过程第一阶段开始怀疑的
内存优化及内存泄漏问题解决
介绍了性能优化方法,其中包括内存优化、资源文件优化、延迟加载、持久化优化、使用可重用对象和并发访问等。这些内容都是非常重要的,希望广大学员认真掌握。
内存泄漏问题,如何检测内存泄漏
用VB写的程序,运行2天后,查看Windows2000 任务管理器中进程中的内存使用量发现基本不变,查看性能(有图象的那页)画面中的内存使用量发现增加了20MB内存.这算内存泄露吗?
Windows2000是否有内存泄漏问题如何解决
我用的版本是Windows 2000 Server Beta3.
linux 下如何解决内存泄漏问题
请问linux下<em>如何</em><em>解决</em><em>内存泄漏</em>的<em>问题</em>?
如何解决mfc导致的内存泄漏问题
在用mfc编程,老会出现<em>内存泄漏</em><em>问题</em>,如在main()函数中定义:CString str;rn就会检测到有<em>内存泄漏</em>,这是为什么?
解决内存泄漏
一:写p层的方法 //解耦 public void datach(){ if (shopView != null){ shopView = null; } } 二:主页面的方法 @Override public void onDestroy() { super.onDestroy(); if (shopPresenter != null){ ...
如何解决一个看得见的内存泄漏问题?
我的程序中有一函数为如下:rnCImageList *CShellListView::CreateDragImageEx( LPPOINT lpPoint )rnrn .......rn CImageList* pCompleteImageList = new CImageList;rn ......rn return( pCompleteImageList );rnrn由程序可以看出是一个返回指针的函数,其中new申请了一内存,但是没有相应的delete语句所以不可避免的有<em>内存泄漏</em>的<em>问题</em>.我现在就是不知道该将delete语句放在那里才可以<em>解决</em>好这个<em>问题</em>,放在return之前就返回不了指针.放在return之后又执行不到这个语句.rn
【求助】内存泄漏应该如何解决
最近做在一个实时采集的系统,就是说每隔10分钟就对一个网页的内容进行采集,结果发现内存的占用是线性增长的。。rn[img=https://img-bbs.csdn.net/upload/201401/17/1389944607_520172.jpg][/img]rn这是使用javavisualVM观察的结果,左边斜坡为采集的过程,所占内存逐渐上升,右边则是等待下一次过程,占用了将近600M的内存无法释放,接下来第二次采集中,内存的使用率会继续上升直到达到最大值。rnrn下面是用memory analyzer得到的两张内存使用的dump图rnrn[img=https://img-bbs.csdn.net/upload/201401/17/1389944807_877746.jpg][/img][img=https://img-bbs.csdn.net/upload/201401/17/1389944820_43626.jpg][/img]rnrn可以发现classloader占用了大量的资源,小弟不知道应该怎么把这些资源释放出来。请问各位大神这个<em>问题</em>应该<em>如何</em><em>解决</em>?rnrn谢谢各位的回答!!!
如何解决 (IOS)UIWebview 内存泄漏
哈哈,其实详细的代码已经给了出来:http://blog.csdn.net/yeshennet/article/details/52413517这里补一点当时出现的情况吧:一开始是测试说手机用久了以后会卡,还有就是会闪退,会黑屏,出现一些奇奇怪怪的毛病。<em>问题</em>很严重,而且是用久了以后,听描述是偶发的。后来我用xcode中的工具查看了一下内存,如下图:每打开一个页面就会出现增加一点内存,退出也不会消失...
tomcat出现内存泄漏如何解决
操作系统window 2003 serverrntomcat 5.5.9rnjdk:1.4或是1.5rnrn我用Optimizeit profiler监视我的应用运行情况,发现在进行压力测试时,系统的内存不断的往上加。查看进程关于java.exe的内存使用情况,也是不断的往上加。但是通过Optimizeit profiler查看的情况显示,最大分配内存和实际使用内存都不是很大(系统使用达到1.5G,分配内存500M左右),垃圾回收也显示也正常工作,因为实际使用内存总在上下波动。撤压后,最大分配内存和实际使用内存都回到正常状态,但系统内存却仍居高不下,经常若干长时间仍然如此。rn我这没有与数据库的连接,但有socket连接。我的应用通过测试工具查看,也没发现有不释放的对象。rn操作系统在red hat linux下情况相似。rn请高手帮忙分析一下<em>问题</em>会出在什么地方。rnrn
如何解决内存溢出以及内存泄漏
前言:很多人在项目中都遇到过内存溢出<em>问题</em>,其实说白了就是内存不够用了,那么要<em>解决</em>这一个<em>问题</em>,我们就需要”开源节流”了1.开源(增加内存分配)每台手机给每个程序分配的内存都是固定的,那么是否有办法使我们的程序获取到更大的内存呢?其实是有的,而且很简单你只需要在清单文件中的application的节点中加入 android:largeHeap=”true” 即可, 是不是很简单?<applicati
java解决画图问题
通过java<em>解决</em>经典的<em>画图</em><em>问题</em>,统计在一张巨大的1*1的方格网络上画多个矩形,这些矩形可能相交,求这些矩形在方格网络上占据的总面积
画图解决中文显示问题
绘图时,如果title或者lable上有中文会出现乱码 import numpy as np import matplotlib.pyplot as plt a=np.array([10 for i in range(10)]) plt.title('测试') plt.plot(a) 会出现 此时加上这个: import matplotlib as mpl mpl.rcParam...
MVP解决内存泄漏:通过引用类型解决内存泄漏问题
在MVP模式中,Presenter是同时拥有View和Model的引用的,那么,当在Presenter中拥有View,即使Activity此时销毁也不能告诉gc回收的,那么内存泄露便由此产生了,下面是<em>解决</em>措施。 在Presenter中: public class ShowPresenter&amp;lt;T&amp;gt; { private Reference&amp;lt;T&amp;gt; tRefer...
C#画图的锯齿问题如何解决
C#<em>画图</em>的锯齿<em>问题</em><em>如何</em><em>解决</em>?
画图时,如何解决闪烁的问题
rt
请问如何解决画图闪烁问题
我现在在窗口上每当点击鼠标左键窗口的相应位置就会出现一个ico图象,但是当图象多的时候就会出现闪烁<em>问题</em>了。我的代码是这样写的rnvoid __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,rn TShiftState Shift, int X, int Y)rnrnTImage* qizi=new TImage(Owner) ;rnqizi->Parent=Form1;rnqizi->AutoSize=true;rnqizi->Picture->LoadFromFile("c:\\1.ico");rnqizi->Left=X;rnqizi->Top=Y;rnrnrn请问<em>如何</em>修改能<em>解决</em>闪烁的<em>问题</em>啊?谢谢
窗口下如何解决画图出界的问题
怎么判断窗口的大小?长和宽rnrnrn
使用C++11解决内存泄漏问题
C++语言中没有垃圾回收机制,必须自己去释放分配的堆内存,否则就会<em>内存泄漏</em>。相信大部分C++开发人员都遇到过<em>内存泄漏</em>的<em>问题</em>,而查找内存写了的<em>问题</em>往往要花大量的精力。 <em>解决</em>这个<em>问题</em>最有效的办法就是使用智能指针(Smart Pointer)。使用智能指针就不用担心这个<em>问题</em>了,因为智能指针可以自动删除分配的内存。智能指针和普通指针类似,只是不需要手动释放指针,而是通过智能指针自己管理内存的释放,这样
解决MVP造成的内存泄漏问题
主页面 Presenter
Android webview内存泄漏问题解决
关于webview导致<em>内存泄漏</em>的<em>问题</em>,网上讨论很多,这是Android的一个Bug。 关于原理分析,可以看看前人的博客: http://blog.csdn.net/u013571833/article/details/53070236 有人提出方法:webView不要写在xml布局文件里,要在代码中动态添加然后加载网页,然后页面销毁的时候移除并销毁webView就不会导致<em>内存泄漏</em>。但是也存在...
RxLifecycle解决RxJava内存泄漏问题
RxLifecycle<em>解决</em>RxJava<em>内存泄漏</em><em>问题</em> 一、RxJava使用<em>问题</em> 使用RxJava发布一个订阅后,当页面被finish,此时订阅逻辑还未完成,如果没有及时取消订阅,就会导致Activity/Fragment无法被回收,从而引发<em>内存泄漏</em>。 目前对RxJava的<em>内存泄漏</em>方法有两种: 通过封装,手动为RxJava的每次订阅进行控制,在指定的时机进行取消订阅。 使用Daniel Lew的R...
请帮忙解决内存泄漏问题
下面的代码在性能分析时出现了<em>内存泄漏</em>rnrn ContentViewController *dataViewController;rn dataViewController = [[ContentViewController alloc]initWithNibName:@"ContentViewController" bundle:nil];rn rn dataViewController.DocumentPath = [self.modelArray objectAtIndex:index];rn return dataViewController;rnrn怎么<em>解决</em>这个leak?请高手帮忙。
解决handler 可能发生的 内存泄漏问题
//线程 static int time=0;public void xunhuan(){ new Thread(){ @Override public void run() { super.run(); while (true){ try { sleep(2000)
工具类 解决帧动画内存泄漏问题
package com.hp.robot.util;import android.app.Activity; import android.content.Context; import android.content.res.XmlResourceParser; import android.graphics.BitmapFactory; import android.graphics.d
浏览器内存泄漏问题的跟踪与解决
浏览器<em>内存泄漏</em><em>问题</em>的跟踪与<em>解决</em> 收藏 在Ajax盛行以前,浏览器<em>内存泄漏</em>不是什么大<em>问题</em>,因为都是通过页面跳转和刷新来进行与服务端的交互,而现在情况不一样了,很多应用广泛应用Ajax和iframe,结果<em>内存泄漏</em>成了很多富客户端应用的隐患。比如我现在参与的项目长期以来一直深受<em>内存泄漏</em><em>问题</em>的困扰,测试人员常常抱怨,因为他们是使用软件最多的人员,常常几个小时后的点击就让浏览器占用的内存达到几百M,有时...
求救:内存泄漏如何找出来?以及如何解决!?
Detected memory leaks!rnDumping objects ->rnstrcore.cpp(118) : 247 normal block at 0x004336A0, 54 bytes long.rn Data: < ) > 01 00 00 00 0B 00 00 00 29 00 00 00 BD BB BB BB rn217 normal block at 0x00433F60, 60 bytes long.rn Data: < > 02 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 rnthrdcore.cpp(166) : 68 client block at 0x00431300, subtype 0, 112 bytes long.rna CWinThread object at $00431300, 112 bytes longrnObject dump complete.rnrn虽然是老生常谈的话题了,但是好像没有实质性的进展!rn请高手指点,指出那种错误对应那种情况,说明<em>解决</em>之道!
CDC画图一问,在线等待,谢谢!
我在一个黑色的背景上<em>画图</em>rnCClientDC dc(this);rndc.Rectangle(10,10,20,100);rn但是这样画出来始终有一个白色的边框。rn怎样才能<em>画图</em>是没有那个边框,或者那个边框也是黑色?rn谢谢!
(送分问题!!!)关于用CDC *pDC 画图问题
我对话框应用程序中添加了一个Tab Control控件,在属性页上面的OnPaint函数中用CDC*pDC,可以<em>画图</em>,但是在一个按钮控件rnrn函数中用CDC却画不出图形来?为什么!rnrn如果不用Tab control控件,这样是可以的!我想知道,在Tab Control控件的属性页上面<em>画图</em>,要加什么其他代码吗?rnrn急!!!
求助:CDC::SetPixel()画图,只显示部分图像
MFC单文档工程中使用CDC::SetPixel()从一个unsigned char数组中获取图像数据<em>画图</em>,但只能显示部分图像,要嘛图像的左半边没显示,要嘛右半边,代码看不出有什么错误,谁能帮帮我啊,谢谢了 rn
怎样在线程中使用CDC类函数画图
怎样在线程中使用CDC类的函数<em>画图</em>,据说可以传一个主窗口指针的参数给线程函数,具体怎么操作,能不能给点代码演示.下面是我自己的代码,大家看看正确吗?rn //主线程中的代码rn CMy2dcadView *pView;rn CMainFrame *pFrame=(CMainFrame*)(AfxGetApp()->m_pMainWnd);rn pView=(CMy2dcadView*)(pFrame->GetActiveWindow());rn m_pThread=AfxBeginThread(ThreadProc,(LPVOID)pView);rnrn//线程函数rnUINT ThreadProc(LPVOID ThreadParam)rnrn CDC* pDC;rnrn pDC=ThreadParam->GetDC();rn这样编译不过去,主要是ThreadParam的<em>问题</em>.
这段CDC 画图代码 请问哪里错了?
void DrawBMP(HDC hdc , CBitmap * bgbmp , CBitmap * bmp , CBitmap * bmpmask , POINT pt , int num)rnrn CDC dc;rn CDC mdc,mdc1;rn dc.Attach(hdc);rn mdc.CreateCompatibleDC(&dc);rn mdc1.CreateCompatibleDC(&dc);rnrn SIZE bgbmpsize = GetBMPSize(bgbmp); //GetBMPSize()为获得Bmp图的宽和高rnrn mdc1.SelectObject(bgbmp);rn mdc.BitBlt(0,0,bgbmpsize.cx,bgbmpsize.cy,&mdc1,0,0,SRCCOPY); rn rn SIZE bmpsize = GetBMPSize(bmp);rn mdc1.SelectObject(bmp);rn mdc.BitBlt(pt.x,pt.y,bmpsize.cx/4,bmpsize.cy,&mdc1,bmpsize.cx/4*num,0,SRCAND);rn mdc1.SelectObject(bmpmask);rn mdc.BitBlt(pt.x,pt.y,bmpsize.cx/4,bmpsize.cy,&mdc1,0,0,SRCPAINT);rn rn dc.BitBlt(0,0,GetBMPSize(bgbmp).cx,GetBMPSize(bgbmp).cy,&mdc,0,0,SRCCOPY);rn rn
CDC画图第二问,在线等待,谢谢!
我在一个函数中写道:rnCClientDC dc(this);rndc.SetBkMode(TRANSPARENT) ;rndc.Rectangle(10,10,20,100);rnReleaseDC(&dc);rnrn调用函数后成功画出一个矩形,但是在窗口切换之后这个矩形就消失了没有了。rn请问这是怎么回事?这样才能使画出的图形不因窗口的切换而消失,谢谢!rn
summary4 CDC画图、meset()、设置字体
1、CDC<em>画图</em> CDC *pDC=GetDC();//CDC方式创建 pDC-&amp;gt;MoveTo(x1, y1); //起点 pDC-&amp;gt;LineTo(x2, y2); //终点 ReleaseDC(pDC); 这段代码写在OnPaint()函数的else中,放在CDialogEx::OnPaint();后面,在CDialogEx::OnPain...
CDC画图第三问,在线等待,谢谢!
CClientDC dc(this);rn定义了dc后,<em>如何</em>才能画出一个边框为黑色,中间填充绿色的矩形?rnrn谢谢!
在对话框中能否用CDC画图
基于single的能够在窗口中<em>画图</em>rn但在对黄框中能否实现呢,我看对话框中没有view类rn那个ondraw函数不知道放在哪里rn哪位大哥帮一下忙
CDC画图时, 坐标值过大怎么办?
小弟利用CDC画地图, 几百条线, 数量不是很大. 但是每个点的点坐标由于取值的关系,数值都非常大(七位数以上).rnrn可是CDC :: LineTo的参数都是整数值, 那么应该怎么处理才可以在一个比较小的篇幅里将这些点线都能描画出来呢?rnrn另外一个<em>问题</em>: 以后我的数量要到W级, 那么得用到图形的放大缩小, 怎么处理才能更为方便地处理呢?rnrn我看到说GDI+比较方便, 但是应该怎么用这个东东呢?rnrn谢谢各位大虾!
cdc类进行画图操作,如何实现保存数据信息?
我用<em>cdc</em>类,moveto,lineto...进行画线操作,在文档里<em>画图</em>,现在想把画的东西存成文件,供下次打开用.请问<em>如何</em>实现?rnrn请高书指点,偶是菜鸟.
CDC画图标的时候如何画一个小图标
我想画一个小图标,但是下面的代码画出来的却是大图标,请高手指点:rn HICON m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);rn pDC->DrawIcon(rcIcon.left, rcIcon.top, m_hIcon);rnrn我真的很菜 :(rn
如何创建一个空的CDC *pDC并在上面画图
<em>如何</em>创建一个空的CDC *pDC并在上面<em>画图</em>?rnrn rn我想创建一个空的CDC *pDC并在上面绘图,但不想画到当前View或对话框上rn画完后我想用它时就比较方便了。可以把上面的内容画到另一个位图上
cdc问题
刚才看了一个老兄的<em>问题</em>,rn我的和他类似rn我在onbutton()里装入位图rn代码如下:rnrn CDC* pDC;rn CRect rc;rn GetDlgItem(IDC_STATIC1)->GetWindowRect(&rc);rn ScreenToClient(&rc);rn rn CBitmap Bitmap;rn CBitmap Bitmap1;rn rn Bitmap.LoadBitmap(IDB_BITMAP1);rn Bitmap1.LoadBitmap(IDB_BITMAP2);rn rn CDC MemDC;rn CDC MemDC1;rn rn MemDC.CreateCompatibleDC(pDC);rn MemDC1.CreateCompatibleDC(pDC);rn rn CBitmap* OldBitmap=MemDC.SelectObject(&Bitmap);rn CBitmap* OldBitmap1=MemDC1.SelectObject(&Bitmap1);rn rn BITMAP bm;rn BITMAP bm1;rn rn Bitmap.GetObject(sizeof(BITMAP),&bm);rn Bitmap1.GetObject(sizeof(BITMAP),&bm1);rn rn pDC->BitBlt(rc.left,rc.top,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY);rn rn rn GetDlgItem(IDC_STATIC2)->GetWindowRect(&rc);rn ScreenToClient(&rc);rn rn pDC->BitBlt(rc.left,rc.top,bm1.bmWidth,bm1.bmHeight,&MemDC1,0,0,SRCCOPY);rn MemDC.SelectObject(OldBitmap1);rn MemDC.SelectObject(OldBitmap); rnrn运行到rn MemDC.CreateCompatibleDC(pDC);rn MemDC1.CreateCompatibleDC(pDC);rn时出错,编译没有<em>问题</em>。rn同样的代码去掉第一行后在ondraw()里用就没有<em>问题</em>,rn到底是哪里不对劲?大家帮忙。rn rn
CDC的问题
请问我在void CIndex::OnPaint() rnrn CPaintDC dc(this); // device context for paintingrn rn // TODO: Add your message handler code herern rn // Do not call CDialog::OnPaint() for painting messagesrnrn这个函数中,能否获得CDC* pDC呢,然后用pDC画一个矩形框?或者说pDC和上面的dc是一样的阿,我对这个始终搞不懂,请大虾指教了!!!!
PlxMon在Windows98版本的使用手册下载
PlxMon在Windows98版本的使用手册 相关下载链接:[url=//download.csdn.net/download/Augusdi/2980445?utm_source=bbsseo]//download.csdn.net/download/Augusdi/2980445?utm_source=bbsseo[/url]
桌面修改路径下载
桌面修改路径 安装后原C盘的桌面文件都到D盘我的文档了 相关下载链接:[url=//download.csdn.net/download/cdh6565990/3608557?utm_source=bbsseo]//download.csdn.net/download/cdh6565990/3608557?utm_source=bbsseo[/url]
Asp.net FusionCharts 3D效果图下载
Asp.net FusionCharts 3D效果图 相关下载链接:[url=//download.csdn.net/download/li_ser/7197879?utm_source=bbsseo]//download.csdn.net/download/li_ser/7197879?utm_source=bbsseo[/url]
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池
我们是很有底线的