http://www.cnblogs.com/pchmonster/archive/2012/07/09/2583613.html 脱屏位图(Offscreen Bitmaps) 脱屏位图,也叫内存位图,普遍用于Windows程序设计中.它在内存中制作图像,然后利用Draw方法在屏幕上显示出来.当用户想更快的在屏幕上绘制图像时,脱屏位图有助于避免闪烁.脱屏位图也适合于复杂制图程序.用户可以将图像预存起来,需要时显示出来.脱屏位图用于动画,最流行的动画制作方法是Microsoft的DirectX…
脱屏位图(Offscreen Bitmaps) 脱屏位图,也叫内存位图,普遍用于Windows程序设计中.它在内存中制作图像,然后利用Draw方法在屏幕上显示出来.当用户想更快的在屏幕上绘制图像时,脱屏位图有助于避免闪烁.脱屏位图也适合于复杂制图程序.用户可以将图像预存起来,需要时显示出来.脱屏位图用于动画,最流行的动画制作方法是Microsoft的DirectX SDK. 脱屏位图的原则是三个简单的步骤: 建立内存位图(Create a memory bitmap) 绘制内存位图(Draw o…
http://www.cnblogs.com/pchmonster/archive/2012/07/06/2579334.html 绘制位图(Drawing Bitmaps) 绘制位图听起来似乎很难,然而如几次所见到的那样,绘制位图非常容易.TCanvas类具有几种方法绘制位图,最常用的方法是Draw方法,这种方法只是在画布上指定位置绘制位图.用户已经见过几个这样的例子.下面是简短的例子. 1 2 3 4 5 6 7 8 9 procedure TForm1.btn1Click(Sender:…
转载:http://www.cnblogs.com/pchmonster/archive/2012/07/06/2579185.html 基本绘图操作(Basic Drawing Operations) 现在大家已经知道Rectangle方法用来画正方形和矩形,Ellipse方法用来画圆和椭圆,MoveTo和LineTo方法则用来画线. 还有Arc方法用于画弧,Pie方法用于画饼形,一切一切都是非常基础的,没有太大的必要详细了解TCanvas的这些方法,下面开始更有趣的图形操作,这些图形操作在编…
原文链接: http://www.cnblogs.com/pchmonster/archive/2012/07/05/2577627.html 剪切区域(Clipping Regions) Regions是屏幕的一部分,它可用于控制绘图的那部分画布.TCanvas类具有ClipRect属性,但这个属性只是只读的,要改变裁减区,必须使用Windows API,仍以前面的例子为例,并加以修改来说明裁剪区是如何工作的,下面是代码: 1 2 3 4 5 6 7 8 9 10 11 12 var   Bi…
GDI对象在windows中可以描述成为一次绘画操作时可使用的抽象工具.包括(画笔.画刷.字体.区域.调色板.位图等) GDI对象里的对象概念和在编程领域中面向对象编程的对象概念是不一样的! GDI对象更多的偏重于是一个实体,而编程中的对象是一个能提供各种服务抽象概念. 在Windows中可以通过如下方式查看一个进程所拥有的GDI对象总数 1.打开任务管理器. 2.点击查看——选择列 3.选中“GDI对象” 然后再任务管理器中就能够查看了 在Windows中这种Gdi位图就叫做DDB(Devic…
GDI+ LibraryThis library enables GDI+ functionality for Delphi 2009 and later. It differs from other Delphi GDI+ libraries in the following ways: It is modeled more after the .NET System.Drawing namespace instead of the C++ GDI+ classes. As a result,…
最近写了一个GDI 绘图的程序,过程中遇到一个奇怪的问题,就是 定时器定时一会GDI绘的图就消失了..后来经过分析,原来是 GDI对象数量过多 ,即GDI对象超过10000个 导致内存泄漏的问题.找到了问题所在,就好解决了,就是及时释放GDI对象. 在创建GDI对象的时候,遵循以下规则: GetDC 得到的DC要用 ReleaseDCCreateCompatibleDC 要用 DeleteDC 例如: BOOL CLogicChartCtrl::DrawBmp( CDC* pDC, CRect…
查GDI对象泄露的利器:GDIView可以很详细的查到进程的GDI对象的总个数,详细的GDI对象的个数,以及其增减数量.其GDI对象类型也可以很详细的得知,以及其内存地址,句柄.实在是好使! 下载地址:http://www.nirsoft.net/utils/gdi_handles.html中文版32x下载地址:http://www.hanzify.org/software/12680.html…
今天无意间在[任务管理器]中发现,每添加1张图片后,应用程序的 GDI对象 + 3,添加图片后,再把所有图片删除, GDI对象数量没减少! 排查原因,发现: GDI对象 + 3 的代码是: int offset = LookupIconIdFromDirectoryEx(pIcoData, TRUE, width_thumbnail, height_thumbnail, LR_DEFAULTCOLOR); ) //成功 { HICON ico = CreateIconFromResourceEx…