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+可能会缩放此图像。

相关文章推荐

WIN32 GDI+ 学习笔记(二):使用画笔

首先把win32程序的模板贴上来: #include #include using namespace Gdiplus; VOID OnPaint(HDC hdc) { //绘图代码 }...
  • f_j_l
  • f_j_l
  • 2015年01月06日 19:20
  • 1157

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

使用GDI+很简单。需要做的有一下几个步骤。 1.       安装GDI+ SDK开发包。网上很多地方都有下载。解压到一个地方即可。 2.       设置编译器的包含路径,VC6的设置...

GDI+学习笔记5-设备环境DC的概念

DC(Device Context)又称设备上下文,设备描述表。它是一个关于如何绘制图形的方法的集合,它既可以绘制各种图形,也可以确定在应用窗口中绘制图形的方式,就是绘图模式和映射模式。 在Wi...

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

使用GDI+很简单。需要做的有一下几个步骤。  1. 安装GDI+ SDK开发包。网上很多地方都有下载。解压到一个地方即可。  2. 设置编译器的包含路径,VC6的设置方法是 Tools/Opti...
  • hireboy
  • hireboy
  • 2013年05月29日 16:18
  • 6252

GDI+学习笔记2

(三) GDI+中的直线、曲线和图形 使用图形对象进行绘制的方法: GDI+ 中的 Graphics 类提供了绘制前面列表中的各项的方法:DrawLine、DrawRectangle、DrawEl...

C++/GDI+ 学习笔记(三)——基础

使用GDI+的一些基础知识。对一些常用的类进行了简单的介绍。 TAG: GDIPlus     GDI+ 的主要画刷 SolidBrush 单色画...
  • hireboy
  • hireboy
  • 2013年05月29日 16:20
  • 2910

WIN32 GDI+ 学习笔记(三):使用画刷(I)

gdi+中的brush对象是用来填充一个封闭形状的内部,而且brush对象分为以下四种: 1.实心画刷 2.渐变画刷 3.阴影画刷 4.贴图画刷 (参考MSDN) 1.实心画刷(SolidBrus...
  • f_j_l
  • f_j_l
  • 2015年01月07日 19:16
  • 411

C# 学习笔记一(图形绘制基础1 GDI+)

【做了近三年多的程序开发这还是第一次在CSDN上写点东西。】         之前一个同学去面试工作的时候遇到了这样的一个问题,用GDI+编写一个正弦波的程序并且能动,能保存图像的。这对于很...
  • xxhysj
  • xxhysj
  • 2012年10月16日 11:49
  • 845

C#学习笔记30——C# GDI+绘图

GDI+ 是 Windows XP 操作系统中提供二维矢量图形、图像处理和版式的部分。GraphicsDevice Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在...
  • byxdaz
  • byxdaz
  • 2011年09月04日 14:22
  • 12105

C++/GDI+ 学习笔记(五)——应用实例——半透明的阴影效果

利用 GDI+可以很容易的描画出逼真的半透明效果的阴影。 void DrawShadow(Graphics &g, GraphicsPath ButtonPath) {     g.SetPag...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Gdi+学习笔记(二)
举报原因:
原因补充:

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