Gdi+学习笔记(二)

原创 2006年05月20日 19:11:00

本书给出了一些可以改善面向图形应用程序的效率的技巧和窍门。
一、理解渲染过程
1、理解paint事件
2、为窗体添加paint事件处理程序
3、为Windows控件添加paint事件处理程序
4、重载窗体的OnPaint方法
5、使用Visual Studio .Net添加paint事件处理程序
6、释放图形对象
在使用完对象之后释放,是一种良好的编程习惯。如果一个Graphics对象是

CreateGraphics或者其他"CreateForm"方法创建的,则必须释放。如果是在paint事件或

者从PaintEventArgs.Graphics属性等,则不用释放此对象。
7、OnPaintBackground方法
OnPaintBackground方法用于绘制控件的背景,此方法在派生类中重载,以便在不连接委

托的情况下处理事件。不需要显式的调用。
8、变量和性能的范围和类型
变量的范围和复杂计算的使用会很容易的降低应用程序的性能。所以为钢笔、画笔、路

径或其他对象使用全局范围可能比在OnPain中定义变量更有用
二、双缓冲和无抖动绘图

三、理解SetStyle的方法

四、绘图过程的质量与性能
绘图过程的性能与质量成反比。Gdi+提供了几种设置图像和文本质量的方式,

SmoothingMode和TextRenderingHint属性分别用于设置图像和文本的质量。HighQuality

和AntiAlias选项提供了较低的绘图性能和较高的绘图质量;HighSpeed和None选项提供

了较高的绘图性能和较低的绘图质量。我们必须决定是否真的需要绘制抗锯齿处理的对

象。
1、只绘制所需要的区域
2、使用绘图路径
3、谨慎的选择方法
4、避免使用频繁调用的事件
5、使用系统画笔和钢笔
6、避免图像的自动缩放
自动缩放会导致性能的下降。如果有可能,尽量避免自动缩放。如:DrawImage方法将一

个Bitmap对象和一个具有左上角位置及至定宽度和高度的矩形作为参数。如果仅传递左

上位置作为参数,则Gdi+可能会缩放此图像。

C++/GDI+ 学习笔记(一)——安装、配置&使用

使用GDI+很简单。需要做的有一下几个步骤。1.       安装GDI+ SDK开发包。网上很多地方都有下载。解压到一个地方即可。2.       设置编译器的包含路径,VC6的设置方法是 Tool...
  • eplanet
  • eplanet
  • 2007年10月09日 09:11
  • 9164

机器视觉学习笔记(一)

来秦皇岛快一周了,跟导师、学长聊了聊,觉得自己还是想做机器视觉,毕竟做一个智能机器人或者做智能家居一直是我的兴趣所在。这两天学了opencv,进度很慢,有待提高效率。在csdn上发现了很多有用的资料,...
  • sunlightli1216
  • sunlightli1216
  • 2015年01月16日 11:19
  • 260

C++/GDI+ 学习笔记(四)——实用技巧——颜色矩阵(ColorMatrix)

         颜色矩阵在GDI+中是十分有用的。一位颜色信息,由ARGB四部分组成,分别是透明度和三个颜色分量。一个4×4的矩阵即可完整的表示出一个颜色的矩阵,但4*4矩阵无法完成一些变换(例如平...
  • eplanet
  • eplanet
  • 2007年10月15日 08:59
  • 2724

机器学习笔记(二)(Draft Version)

摘要 笔记(一)中讨论的情况显示,模型越复杂并不一定error越小。那所以这些error到底来自什么地方呢? 1. bias 2. variance 在具体训练过程中,如果可以诊断error的...
  • yucicheung
  • yucicheung
  • 2017年09月18日 15:12
  • 331

node.js学习笔记(2)---Nodejs开发框架Express3.0开发手记–从零开始

目录 此文重点介绍Express3.0的开发框架,其中还会涉及到Mongoose,Ejs,Bootstrap等相关内容。   项目源码下载地址:http://download.csdn.net/det...
  • liuwu0720
  • liuwu0720
  • 2014年03月15日 10:59
  • 1600

西瓜书学习笔记(二)

啊啊啊啊啊,昨天本来第二章写了不少内容,但是不知道CSDN的Markdown编辑器是不会自动保存的,中途发别的博客会把之前编辑的也给覆盖掉,这一章就简单写点吧。第二章 模型评估与选择2.1 经验误差与...
  • Cyril__Li
  • Cyril__Li
  • 2017年04月25日 18:49
  • 388

GDI+ 在Delphi程序的应用 -- 图像二值化

    图像的二值化,无论是理论,还是方法都很多,网上搜索一大堆,本人水平有限,没法完全搞清楚,只在这里针对GDI+在Delphi中如何做一般二值化处理,写一个简单例子。    其实,这个例子在昨天本...
  • maozefa
  • maozefa
  • 2007年01月30日 23:27
  • 4166

CMAKE学习笔记(二)

声明:本文为转载博客(感谢网友dbzhang800),转载链接在博客末尾 在 Cmake学习笔记一 中通过一串小例子简单学习了cmake 的使用方式。 这次应该简单看看语法和常用的命令了。 ...
  • u012700322
  • u012700322
  • 2016年12月23日 14:26
  • 248

GLSL学习笔记2

现在开始第四章的学习 4.The OpenGL Programmable Pipeline(opengl可编程管线) 顶点着色器课代替的固定功能有: 1.用模型矩阵变换顶点坐...
  • hippig
  • hippig
  • 2012年04月14日 11:26
  • 910

网络编程学习笔记整理(二)

摘录笔记 《TCP/IP高效编程 改善网络程序的44个技巧》socket的创建函数int socket (int domain,int type, int protocol)参数说明protocol需...
  • stecdeng
  • stecdeng
  • 2017年02月23日 14:47
  • 254
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Gdi+学习笔记(二)
举报原因:
原因补充:

(最多只允许输入30个字)