选择显示字体大小

用visual c++.net进行gdi+编程


  gdi+接口是microsoft whistler操作系统中的一部分,它是gdi的一个新版本,不仅在gdi基础上添加许多新特性而且对原有的gdi功能进行优化。 在为开发人员提供的二维矢量图形、文本、图像处理、区域、路径以及图形数据矩阵等方面构造了一系列相关的类,如bitmap(位图类)、brush(画刷类)、color(颜色类)、font(字体类)、graphics(图形类)、image(图像类)、pen(画笔类)和region(区域类)等。其中,图形类graphics是gdi+接口中的一个核心类,许多绘图操作都可用它来完成。

  我们首先介绍一下gdi+的新特性以及其编程方式的改变,然后介绍用visual c++.net在基于对话框和单文档/多文档等应用程序中使用gdi+的一般方法。

  gdi+新特性

  gdi+与gdi相比,增加了下列新的特性:

  1、渐变画刷

  以往gdi实现颜色渐变区域的方法是通过使用不同颜色的线条来填充一个裁剪区域而达到的。现在gdi+拓展了gdi功能,提供线型渐变和路径渐变画刷来填充一个图形、路径和区域,甚至也可用来绘制直线、曲线等。这里的路径可以视为由各种绘图函数产生的轨迹。

  2、样条曲线

  对于曲线而言,最具实际意义的莫过于样条曲线。样条曲线是在生产实践的基础上产生和发展起来的。模线间的设计人员在绘制模线时,先按给定的数据将型值点准确地"点"到图板上。然后,采用一种称为"样条"的工具(一根富有弹性的有机玻璃条或木条),用压铁强迫它通过这些型值点,再适当调整这些压铁,让样条的形态发生变化,直至取得合适的形状,才沿着样条画出所需的曲线。如果我们把样条看成弹性细梁,那么压铁就可看成作用在这梁上的某些点上的集中力。gdi+的graphics:: drawcurve函数中就有一个这样的参数用来调整集中力的大小。除了样条曲线外,gdi+还支持原来gdi中的bezier曲线。

  3、持久的路径对象

  我们知道,在gdi中,路径是隶属于一个设备环境(上下文),也就是说一旦设备环境指针超过它的有效期,路径也会被删除。而gdi+是使用graphics对象来进行绘图操作,并将路径操作从graphics对象分离出来,提供一个graphicspath类供用户使用。这就是说,我们不必担心路径对象会受到graphics对象操作的影响,从而可以使用同一个路径对象进行多次的路径绘制操作。

  4、矩阵和矩阵变换

  在图形处理过程中常需要对其几何信息进行变换以便产生复杂的新图形,矩阵是这种图形几何变换最常用的方法。为了满足人们对图形变换的需求,gdi+提供了功能强大的matrix类来实现矩阵的旋转、错切、平移、比例等变换操作,并且gdi+还支持graphics图形和区域(region)的矩阵变换。

  5、alpha混色

  在图像处理中,alpha用来衡量一个像素或图像的透明度。在非压缩的32位rgb图像中,每个像素是由四个部分组成:一个alpha通道和三个颜色分量(r、g和b)。当alpha值为0时,该像素是完全透明的,而当alpha值为255时,则该像素是完全不透明。

  alpha混色是将源像素和背景像素的颜色进行混合,最终显示的颜色取决于其rgb颜色分量和alpha值。它们之间的关系可用下列公式来表示:
显示颜色 = 源像素颜色 x alpha / 255 + 背景颜色 x (255 - alpha) / 255

  gdi+的color类定义了argb颜色数据类型,从而可以通过调整alpha值来改变线条、图像等与背景色混合后的实际效果。

  除了上述新特性外,gdi+还将支持重新着色、色彩修正、消除走样、元数据以及graphics容器等特性。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons