📄 用visual c++_net进行gdi+编程 _1.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0046)http://www.qqread.com/vcdotnet/d652242000.html -->
<HTML lang=zh xml:lang="zh" xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>用Visual C++.NET进行GDI+编程 - QQread.com 电脑频道</TITLE>
<META http-equiv=Content-Language content=zh-CN>
<META
content=[art_mtkw],电脑入门,上网指南,操作系统,常用软件,黑客与安全,网络游戏,程序开发,数据库开发,网页制作,图像处理,多媒体制作,网络编程,加密技术,网络技术
name=keywords>
<META content="用Visual C++.NET进行GDI+编程" name=description>
<META content=QQRead.com name=author>
<META content=all name=robots>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
href="用Visual C++_NET进行GDI+编程 _1.files/qqread_html.css" type=text/css
rel=stylesheet><LINK href="用Visual C++_NET进行GDI+编程 _1.files/qqread_html_com.css"
type=text/css rel=stylesheet>
<STYLE type=text/css>.STYLE2 {
FONT-SIZE: 14px
}
</STYLE>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY><!-- 公共页头 -->
<DIV style="TEXT-ALIGN: center">
<DIV id=topad>
<TABLE>
<TBODY>
<TR>
<TD width=10><SPAN
id=ad_qqread_top></SPAN><!--End//--></TD></TR></TBODY></TABLE></DIV>
<DIV id=CHBig>
<DIV id=CHBigCSDNLogo><A href="http://www.qqread.com/"><IMG alt=巧巧读书网
src="用Visual C++_NET进行GDI+编程 _1.files/qqread.gif" border=0></A></DIV>
<DIV id=CHBigHeaderWrapper>
<DIV id=CHBigNavBar2>
<UL>
<LI><A href="http://www.qqread.com/news/" target=_blank>新闻中心</A>|
<LI><A href="http://www.qqread.com/skill/" target=_blank>技巧集锦</A>|
<LI><A href="http://www.qqread.com/itlife/" target=_blank>IT人生雨露</A>|
<LI><A href="http://www.qqread.com/pcbase/" target=_blank>电脑入门</A>|
<LI><A href="http://www.qqread.com/netreference/" target=_blank>上网指南</A>|
<LI><A href="http://www.qqread.com/safe/" target=_blank>黑客与安全</A>|
<LI><A href="http://www.qqread.com/commentsoft/" target=_blank>常用软件</A>|
<LI><A href="http://www.qqread.com/os/" target=_blank>操作系统</A>|
<LI><A href="http://www.qqread.com/netgame/" target=_blank>网络游戏</A><BR>
<LI><A title=图片欣赏 href="http://www.qqread.com/photo/index.html"
target=_blank>图片欣赏</A>|
<LI><A href="http://www.qqread.com/program/" target=_blank>程序开发</A>|
<LI><A href="http://www.qqread.com/database/" target=_blank>数据库开发</A>|
<LI><A href="http://www.qqread.com/webdesign/" target=_blank>网页制作</A>|
<LI><A href="http://www.qqread.com/photohandle/" target=_blank>图像处理</A>|
<LI><A href="http://www.qqread.com/mutimedia/" target=_blank>多媒体制作</A>|
<LI><A href="http://www.qqread.com/netprogram/" target=_blank>网络编程</A>|
<LI><A href="http://www.qqread.com/encrypt/" target=_blank>加密技术</A>|
<LI><A href="http://www.qqread.com/network/" target=_blank>网络技术</A>
</LI></UL></DIV>
<DIV id=CHBigNavBar1></DIV></DIV>
<DIV style="CLEAR: both"></DIV></DIV></DIV><!-- /公共页头 -->
<DIV id=OutBox>
<DIV id=listMainArea>
<DIV id=disclaimer><A href="http://www.qqread.com/">巧巧读书首页</A> > <A
title=程序开发 href="http://www.qqread.com/program/index.html">程序开发</A> > <A
title=.Net技术 href="http://www.qqread.com/dotnet/index.html">.Net技术</A> > <A
title=VC.NET href="http://www.qqread.com/vcdotnet/index.html">VC.NET</A> >
正文</DIV>
<DL class=ReadArticle>
<DT>用Visual C++.NET进行GDI+编程
<DD class=ArticleInfo3>
<SCRIPT src="用Visual C++_NET进行GDI+编程 _1.files/adtitle.js"
type=text/javascript></SCRIPT>
<HR SIZE=2>
<DD class=ArticleInfo3>
<DIV align=center><A href="http://www.qqread.com/">http://www.qqread.com/</A>
作者:ADDING 2006-01-24 来源:yesky 浏览:<SPAN id=count></SPAN> </DIV>
<DD class=ArticleInfo_3>
<DD class=ArticleInfo_3><A
href="http://www.qqread.com/vcdotnet/d652242000_2.html">下一页</A> <FONT
color=#ff0000>1</FONT> <A
href="http://www.qqread.com/vcdotnet/d652242000_2.html">2</A> <A
href="http://www.qqread.com/vcdotnet/d652242000_3.html">3</A>
<DD class=ArticleContent><BR> GDI+接口是Microsoft
Whistler操作系统中的一部分,它是GDI的一个新版本,不仅在GDI基础上添加许多新特性而且对原有的GDI功能进行优化。
<TABLE style="MARGIN: 10px 8px 3px 7px" cellSpacing=0 cellPadding=0 align=left
border=0>
<TBODY>
<TR>
<TD><SPAN
id=ad_qqread_mid_big></SPAN></TD></TR></TBODY></TABLE>在为开发人员提供的二维矢量图形、文本、<A
href="http://www.qqread.com/keywords/image-processing.html"
target=_blank>图像处理</A>、区域、路径以及图形数据矩阵等方面构造了一系列相关的类,如Bitmap(位图类)、Brush(画刷类)、Color(颜色类)、Font(字体类)、Graphics(图形类)、Image(图像类)、Pen(画笔类)和Region(区域类)等。其中,图形类Graphics是GDI+接口中的一个核心类,许多绘图操作都可用它来完成。<BR><BR> 我们首先介绍一下GDI+的新特性以及其编程方式的改变,然后介绍用Visual
C++.NET在基于对话框和单文档/多文档等应用程序中使用GDI+的一般方法。<BR><BR> <B>GDI+新特性</B><BR><BR> GDI+与GDI相比,增加了下列新的特性:<BR><BR> 1、渐变画刷<BR><BR> 以往GDI实现颜色渐变区域的方法是通过使用不同颜色的线条来填充一个裁剪区域而达到的。现在GDI+拓展了GDI功能,提供线型渐变和路径渐变画刷来填充一个图形、路径和区域,甚至也可用来绘制直线、曲线等。这里的路径可以视为由各种绘图函数产生的轨迹。<BR><BR> 2、样条曲线<BR><BR> 对于曲线而言,最具实际意义的莫过于样条曲线。样条曲线是在生产实践的基础上产生和发展起来的。模线间的<A
href="http://www.baidu.com/baidu?tn=jkday2000&word=设计"
target=_blank>设计</A>人员在绘制模线时,先按给定的数据将型值点准确地"点"到图板上。然后,采用一种称为"样条"的工具(一根富有弹性的有机玻璃条或木条),用压铁强迫它通过这些型值点,再适当调整这些压铁,让样条的形态发生变化,直至取得合适的形状,才沿着样条画出所需的曲线。如果我们把样条看成弹性细梁,那么压铁就可看成作用在这梁上的某些点上的集中力。GDI+的Graphics::
DrawCurve函数中就有一个这样的参数用来调整集中力的大小。除了样条曲线外,GDI+还支持原来GDI中的Bezier曲线。<BR><BR> 3、持久的路径对象<BR><BR> 我们知道,在GDI中,路径是隶属于一个设备环境(上下文),也就是说一旦设备环境指针超过它的有效期,路径也会被删除。而GDI+是使用Graphics对象来进行绘图操作,并将路径操作从Graphics对象分离出来,提供一个GraphicsPath类供用户使用。这就是说,我们不必担心路径对象会受到Graphics对象操作的影响,从而可以使用同一个路径对象进行多次的路径绘制操作。<BR><BR> 4、矩阵和矩阵变换<BR><BR> 在图形处理过程中常需要对其几何信息进行变换以便产生复杂的新图形,矩阵是这种图形几何变换最常用的方法。为了满足人们对图形变换的需求,GDI+提供了功能强大的Matrix类来实现矩阵的旋转、错切、平移、比例等变换操作,并且GDI+还支持Graphics图形和区域(Region)的矩阵变换。<BR><BR> 5、Alpha混色<BR><BR> 在图像处理中,Alpha用来衡量一个像素或图像的透明度。在非压缩的32位RGB图像中,每个像素是由四个部分组成:一个Alpha通道和三个颜色分量(R、G和B)。当Alpha值为0时,该像素是完全透明的,而当Alpha值为255时,则该像素是完全不透明。<BR><BR> Alpha混色是将源像素和背景像素的颜色进行混合,最终显示的颜色取决于其RGB颜色分量和Alpha值。它们之间的关系可用下列公式来表示:<BR>显示颜色
= 源像素颜色 X alpha / 255 + 背景颜色 X (255 - alpha) /
255<BR><BR> GDI+的Color类定义了ARGB颜色数据类型,从而可以通过调整Alpha值来改变线条、图像等与背景色混合后的实际效果。<BR><BR> 除了上述新特性外,GDI+还将支持重新着色、色彩修正、消除走样、元数据以及Graphics容器等特性。
<DD class=ArticleContent>关键字: <A
href="http://www.qqread.com/keywords/image-processing.html">图像处理</A> <A
href="http://www.baidu.com/baidu?tn=jkday2000&word=设计">设计</A> <A
href="http://www.qqread.com/keywords/operating-system.html">操作系统</A> <A
href="http://www.qqread.com/keywords/word.html">word</A> <A
href="http://www.qqread.com/keywords/windows.html">windows</A> <A
href="http://www.qqread.com/keywords/visualcpp.html">visual
c++</A> <A
href="http://www.baidu.com/baidu?tn=jkday2000&word=PDA">pda</A> <A
href="http://www.qqread.com/keywords/os.html">os</A> <A
href="http://www.qqread.com/keywords/mfc.html">mfc</A> <A
href="http://www.qqread.com/keywords/ie.html">ie</A>
<DD class=ArticleInfo_3><A
href="http://www.qqread.com/vcdotnet/d652242000_2.html">下一页</A> <FONT
color=#ff0000>1</FONT> <A
href="http://www.qqread.com/vcdotnet/d652242000_2.html">2</A> <A
href="http://www.qqread.com/vcdotnet/d652242000_3.html">3</A> </DD></DL>
<DIV id=ArticleContent4>
<SCRIPT src="用Visual C++_NET进行GDI+编程 _1.files/adend.js"
type=text/javascript></SCRIPT>
</DIV>
<TABLE style="MARGIN-BOTTOM: 5px" cellSpacing=1 cellPadding=0 width=582
align=center bgColor=#235f99 border=0>
<TBODY>
<TR bgColor=#ffffff>
<TD bgColor=#ffffff>
<SCRIPT src="用Visual C++_NET进行GDI+编程 _1.files/580.js"
type=text/javascript></SCRIPT>
<TR bgColor=#ffffff>
<TD bgColor=#ffffff><IFRAME marginWidth=0 marginHeight=0
src="用Visual C++_NET进行GDI+编程 _1.files/CA6NW5UV.htm" frameBorder=0
width=580 scrolling=no height=145></IFRAME>
<TR bgColor=#ffffff>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width=580 border=0>
<TBODY>
<TR>
<TD style="PADDING-LEFT: 20px" width=266 bgColor=#235f99><B><FONT
color=#ffffff>相关文章</FONT></B></TD>
<TD style="PADDING-LEFT: 2px" bgColor=#235f99><B><FONT
color=#ffffff></FONT><FONT color=#ffffff>热点排行:</FONT></B></TD>
<TD style="PADDING-LEFT: 5px" width=189 bgColor=#235f99>
<SCRIPT language=JavaScript
src="用Visual C++_NET进行GDI+编程 _1.files/move.js"
type=text/javascript></SCRIPT>
</TD></TR>
<TR>
<TD
style="PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; LINE-HEIGHT: 22px; PADDING-TOP: 6px"
vAlign=top width=274>·<A title="C++ Builder与Visual C++孰优孰劣"
href="http://www.qqread.com/itlife/p011181002.html"
target=_blank>C++ Builder与Visual C++孰优孰劣</A><BR>·<A
title="eMbedded Visual C++开发入门"
href="http://www.qqread.com/other-devtool/x782130800.html"
target=_blank>eMbedded Visual C++开发入门</A><BR>·<A
title="Visual C++常微分方程初值问题求解"
href="http://www.qqread.com/vc/i602137200.html" target=_blank>Visual
C++常微分方程初值问题求解</A><BR>·<A title="Visual C++常用数据类型转换详解"
href="http://www.qqread.com/cpp/i902235300.html"
target=_blank>Visual C++常用数据类型转换详解</A><BR>·<A
title="Visual C++程序设计中的文件操作"
href="http://www.qqread.com/vc/i120830020.html" target=_blank>Visual
C++程序设计中的文件操作</A><BR>·<A title="Visual C++初学者入门的一条捷径"
href="http://www.qqread.com/vc/i852235200.html" target=_blank>Visual
C++初学者入门的一条捷径</A><BR>·<A title="Visual C++初学者指针学习指南"
href="http://www.qqread.com/vc/i582235200.html" target=_blank>Visual
C++初学者指针学习指南</A><BR>·<A title="Visual C++打造Windows信使服务程序"
href="http://www.qqread.com/java/i902396600.html"
target=_blank>Visual C++打造Windows信使服务程序</A><BR>·<A
title="Visual C++多线程DAO处理"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -