跟我学VS#语言编程技术——C#语言中的图形编程应用技术及示例
- 格式:pdf
- 大小:196.13 KB
- 文档页数:22
vs教程编程实例详解以VS教程编程实例详解Visual Studio(简称VS)是一款由微软开发的集成开发环境(IDE),主要用于开发各种应用程序、网站和服务。
它提供了一整套开发工具,包括代码编辑器、调试器、自动化构建工具和测试工具等,能够帮助开发者快速地构建高质量的软件。
本文将以VS教程编程实例详解,帮助初学者更好地掌握VS的使用方法和编程技巧。
第一步:安装VS在使用VS之前,我们需要先安装它。
VS的安装步骤非常简单,只需要到微软官网下载安装包,按照提示进行安装即可。
在安装过程中,我们可以选择需要安装的组件,如.NET框架、C++开发工具等。
安装完成后,我们就可以打开VS开始编程了。
第二步:创建项目在VS中,我们需要先创建一个项目,然后再在项目中添加代码文件。
创建项目的步骤如下:1. 打开VS,选择“新建项目”(New Project);2. 选择需要创建的项目类型,如控制台应用程序(Console Application)、桌面应用程序(Windows Forms Application)等;3. 输入项目名称和存储路径;4. 点击“创建”(Create),即可创建项目。
第三步:添加代码在创建项目后,我们需要在项目中添加代码文件,然后在代码文件中编写程序。
添加代码文件的步骤如下:1. 在VS中,选中需要添加代码文件的项目,在“解决方案资源管理器”(Solution Explorer)中右键点击该项目;2. 选择“添加”(Add)->“新建项”(New Item);3. 选择需要添加的代码文件类型,如C#类(Class)、C++源文件(C++ Source File)等;4. 输入代码文件名称和存储路径;5. 点击“添加”(Add),即可添加代码文件。
在添加代码文件后,我们就可以在代码文件中编写程序了。
下面以C#为例,介绍如何编写一个简单的控制台应用程序。
1. 在添加代码文件后,打开该文件,输入以下代码:```using System;namespace ConsoleApp1{class Program{static void Main(string[] args){Console.WriteLine("Hello World!");}}}```2. 保存代码文件后,点击“运行”(Run),即可运行程序。
vs的用法-回复题目:VS的用法——一步一步教你掌握这个强大的工具引言:在软件开发和数据分析领域,VS(Visual Studio)是一个广泛使用的集成开发环境(IDE)。
它提供了丰富的功能和工具,可以帮助开发者更高效地编写代码和管理项目。
在本文中,我们将一步一步地介绍VS的用法,帮助读者快速掌握这个强大的工具。
一、安装和配置VS1. 下载首先,我们需要从官方网站上下载适用于我们的操作系统的Visual Studio 版本。
Visual Studio提供了多个版本,包括社区版(Community)、专业版(Professional)和企业版(Enterprise)。
根据自己的需求选择相应的版本。
2. 安装安装程序会引导我们完成安装过程。
通常情况下,我们可以选择完全安装,以确保安装所有必要的组件和工具。
在安装过程中,我们还可以选择自定义安装,根据自己的需求选择所需的功能和组件。
3. 配置完成安装后,我们需要进行一些配置工作。
首先,我们可以选择主题和颜色样式,使得VS更加符合我们的喜好。
其次,我们还可以配置默认设置,例如代码缩进、字体样式等。
这些配置选项可以在“工具”>“选项”菜单下进行调整。
二、创建和管理项目1. 创建项目在VS中,我们可以创建多种类型的项目,例如C#、C++、Python和Web应用。
要创建一个新项目,我们可以选择“文件”>“新建”>“项目”菜单,并选择适合的项目模板。
在创建项目时,需要输入项目名称和位置,并指定目标平台和其他相关选项。
2. 添加文件创建项目后,我们可以通过“右键单击项目”>“添加”>“新建项”来添加新的文件到项目中。
VS支持多种文件类型,例如代码文件、配置文件和资源文件等。
我们还可以直接将现有文件拖放到项目文件夹中,以添加到项目中。
这种方式可以方便地组织和管理项目文件。
3. 管理项目在VS中,我们可以使用“解决方案资源管理器”来管理项目。
vs编程教程VS编程教程是一款非常受欢迎的集成开发环境(IDE),用于开发各种程序,包括桌面应用程序、移动应用程序、Web 应用程序等。
在本篇教程中,我们将介绍VS的基本特点和如何使用它来编写程序。
首先,VS具有友好的用户界面,使得用户能够轻松地浏览和操作各种工具和窗口。
它提供了代码编辑器、调试器、版本控制工具等各种功能,以帮助开发者提高编程效率。
其次,VS支持多种编程语言,包括C#、C++、Java、Python 等。
用户可以根据自己的需要选择适合的语言来开发程序。
而且,VS还提供了丰富的代码模板和示例,可以加快程序的开发速度。
另外,VS还具有强大的调试功能,使得开发者能够方便地查找和修复程序中的错误。
调试器可以在程序执行过程中逐行执行代码,并提供变量的值和调用堆栈等信息,帮助开发者定位错误的位置。
此外,VS还具备广泛的扩展性,用户可以根据自己的需要安装各种插件和扩展。
这些插件包括代码片段生成器、静态代码分析工具、代码编辑辅助工具等,能够帮助开发者更加高效地进行编码。
接下来,我们将详细介绍VS的安装和配置过程。
首先,用户需要从微软官方网站下载并安装VS软件。
安装完成后,用户可以根据自己的需要选择所要安装的组件,如编程语言、调试器、源代码控制等。
安装完成后,用户需要进行一些基本的配置。
比如,设置默认编码格式、代码格式化规范、代码缩进等。
这些配置可以使得编码风格一致,并提高代码的可读性。
然后,我们将介绍如何创建一个新的项目。
用户可以选择所要开发的应用类型,比如控制台应用程序、窗体应用程序、Web 应用程序等。
然后,用户可以选择所要使用的编程语言和框架,并设置一些基本的项目属性。
在项目创建完成后,用户可以开始编写代码了。
VS提供了丰富的代码编辑功能,如代码自动完成、代码高亮、代码折叠等,这些功能可以大大提高编码效率。
最后,我们将介绍如何使用VS进行调试。
用户可以在代码中设置断点,然后通过调试器逐行执行代码。
1.1跟我学VS#语言编程技术——C#中的线程编程技术及应用示例1.1.1C#中的线程编程技术及应用示例1、进程与线程概述(1)什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。
(2)线程而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。
(3)多线程多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
Windows操作系统是个多任务操作系统,也就是:一个进程可以划分为多个线程,每个线程轮流占用CPU 运行时间和资源,或者说,把CPU 时间划成片,每个片分给不同的线程,这样,每个线程轮流的“挂起”和“唤醒”,由于时间片很小,给人的感觉是同时运行的。
多线程带来如下好处:1)避免瓶颈;2)并行操作;3)提高效率;在多线程中,通过优先级管理,可以使重要的程序优先操作,提高了任务管理的灵活性;另一方面,在多CPU 系统中,可以把不同的线程在不同的CPU 中执行,真正做到同时处理多任务(Win 98 只是模拟的,而Win/NT/2000是真正的多CPU同时操作)。
浏览器就是一个很好的多线程的例子,在浏览器中你可以在下载Java小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等。
(4)活动线程在默认的情况下,程序只具有单个线程(主线程)。
多线程程序也就是创建出附加的线程,但在某一特定的时刻,只有一个线程是活动的。
活动线程是当前可以运行的线程。
(5)“多线程处理”“多线程处理”指的是一个程序(或者进程)同时执行多个操作线程的能力。
作为多线程应用程序的一个示例是,如某个程序可能在一个线程上接收用户输入,在另一个线程上执行多种复杂的计算,并在第三个线程上更新数据库等要求。
通过开始菜单来启动VS2010:如果你是第一次开始,那么可能会让你选择默认的环境设置,我们要使用VC当然选择VC的配置:出现下面的画面表示已经成功安装和运行了。
这是起始页面,以后你会经常见到它。
注意,你可能会没有VAssistX这个菜单,因为这个是个外部工具,以后会给大家解释它的用处,现在暂时忽略。
接下来让我们来做一些常见的设置。
通过菜单工具》选项调出配置对话框,下面是一些常见的设置:调处行号,选择文本编辑器,所有语言,把行号打成勾。
如果你想调整字体或者颜色,那么可以在这里选择:单击工具栏的空白区域,让我们把生成工具栏调出来:这样我们就可以直接在工具栏上面选择编译项目、编译整个解决方案、运行程序和调试程序了。
选择生成工具栏旁边的小三角形可以自定,我们还可以添加一些按钮:单击自定义界面下面的添加按钮就可以添加新的按钮了,现在我们把开始执行(不调试)添加工具栏中:以前经常有人问我为什么我的程序闪一下就没了,这就是因为它们把调试(F5,那个实心的三角形)当成了运行(不调试,Ctrl+F5,空心带尾巴的三角形)了。
当然是一闪而过啦。
关于调试以后说到。
HelloWorld.下面让我们用VC++ 2010也就是VC10来做一个控制台的HelloWorld程序吧。
VC2010里面不能单独编译一个.cpp或者一个.c文件,这些文件必须依赖于某一个项目,因此我们必须创建一个项目。
有很多种方法都可以创建项目,可以通过菜单:文件,新建,项目;也可以通过工具栏点击新建项目进行创建。
这里我们点击起始页面上面的新建项目:点击之后进入新建项目向导:上面选择Win32控制台应用程序,名称中输入HelloWorld点确定,至于是否为解决方案创建目录我们暂时不管,那主要区别在于解决方案是否和项目文件在同一目录。
接下来进入创建页面,在Win32应用程序向导的第一个页面直接点下一步即可:下个页面记得选择空项目,我们不需要预编译头:点击完成。
vs 使用技巧VS 使用技巧VS(Versus)在英语中的意思是“对抗”或“对比”,在现代英语中常用于表示两者之间的对比或竞争。
在各种场合中,我们经常会遇到VS的情况,比如产品的比较、球队的对决、辩论的角逐等等。
而在使用VS时,有一些技巧可以帮助我们更好地理解和使用它。
首先,要确保理解VS的含义和用法。
VS可以用于表示两个对比的事物,例如“A vs B”或“A versus B”。
它经常出现在标题、文章和比赛中,在这些情况下,它的作用是明确对比和对抗的对象。
因此,我们需要注意一些语法规则。
比如,在VS之前可以加上冠词“The”,以明确指示对比的事物。
另外,VS后面的两个对象可以是单词、短语或句子,但需要注意它们的一致性和对比性。
最重要的是要确保语境清楚,以避免产生歧义。
其次,要善于利用VS进行有效的对比和比较。
VS可以用于不同领域和层面的对比,比如产品功能、价格、性能等。
在进行对比时,要有一定的依据和标准,以便得出准确的结论。
此外,使用具体的数据和实例来支持对比的观点可以增强对比的说服力。
例如,可以用数字、图表或实验结果来展示两个产品之间的差异。
而在比较的时候,也要考虑到每个对象的优势和劣势,以及与其他对象的关系。
另外,要注意避免片面和偏见的对比。
在进行VS时,我们可能会有自己的倾向和偏见,或者只看到其中一方的优势和亮点。
然而,一个全面和客观的对比需要从多个角度来考虑和评估两个对象的优缺点。
因此,我们需要尽可能了解更多的信息和背景知识,以便做出准确和客观的判断。
此外,要注意不要过于片面和主观地解读和比较数据,而应该基于客观事实进行分析和评估。
最后,要善于总结和概括对比的结果。
在进行VS时,我们的目的往往是找出更好的选择或更佳的解决方案。
因此,在对比和比较的过程中,我们需要总结出一个明确的结论或建议。
在总结时,可以归纳和比较两个对象的优点和缺点,以及它们在不同方面的差异和相似之处。
最好提供一些具体的例子和实践经验来支持结论的可靠性和可行性。
vs入门教程VS是Visual Studio的简称,是微软公司开发的一款集成开发环境(IDE),广泛用于开发各类应用程序。
本篇文章将向大家介绍VS的入门教程。
首先,我们需要从微软官网上下载并安装Visual Studio。
这个过程非常简单,只需要按照向导一步一步操作即可。
安装完成后,打开VS,你会看到一个欢迎页面。
在这个页面上,你可以选择创建一个新的项目,或者打开一个已存在的项目。
如果你是初学者,建议选择创建一个新的项目。
点击“新建项目”按钮,你将看到一个对话框,其中包含了各种可供选择的项目模板。
你可以根据你的需求选择不同的模板,比如Windows应用程序、Web应用程序、控制台应用程序等等。
选择好项目模板后,点击“下一步”,然后为你的项目命名,并选择存储位置。
点击“创建”,VS就会自动生成一个项目的基本结构,包含了一些必要的文件和文件夹。
打开项目后,你会看到整个VS的界面。
界面被分为多个区域,包括菜单栏、工具栏、代码编辑区等等。
了解这些区域的功能和使用方法是非常重要的,这样你才能更高效地使用VS。
在VS的代码编辑区,你可以开始编写代码。
VS支持多种编程语言,比如C#、、C++等等。
选择你熟悉或者想学习的编程语言,并开始编写你的第一个程序。
除了编写代码,VS还提供了很多其他功能,比如调试、版本控制、代码检查等等。
学会使用这些功能可以帮助你更好地开发和管理你的项目。
为了运行你的程序,只需要点击菜单栏中的“调试”按钮,然后选择“开始调试”。
VS会自动编译并运行你的程序,如果一切正常,你的程序将在一个新的窗口中显示运行结果。
当你对你的程序进行修改或者增加新的功能时,记得及时保存并测试你的修改。
通过不断的实践和练习,你会越来越熟悉和了解VS的使用方法,从而更好地开发自己的项目。
总结起来,VS是一款非常强大的开发工具,通过这篇入门教程,你已经初步了解了如何使用它来创建和开发项目。
继续学习和探索,你会发现VS的更多功能和特性,帮助你更好地实现你的开发目标。
1.1跟我学VS#语言编程技术——仿Windows系统资源管理器和Outlook界面的编程应用示例1.1.1仿Windows系统资源管理器和Outlook界面的编程应用示例1、Windows 窗体Splitter 控件Splitter 控件提供一种调整复杂用户界面大小的简单方法。
通过设置控件的Dock 属性可以制作出直观易用的用户界面。
如下为Windows系统中的资源管理器的用户界面。
2、创建Outlook 样式的用户界面(1)创建一个Windows 应用程序项目并添加菜单条、工具条和状态条。
(2)将TreeView 控件从“工具箱”拖动到窗体在“属性”窗口中将Dock 属性设置为“Left”。
(3)将Splitter 控件从“工具箱”拖动到窗体它将自动停靠在TreeView 控件的右边缘。
在“属性”窗口中将Dock 属性设置为“Left”。
(4)将Panel 控件从“工具箱”拖动到窗体在“属性”窗口中将Dock 属性设置为“Fill”。
面板将完全填充窗体的右侧。
并设置BorderStyle属性为Fixed3D、AutoScroll属性设置为true。
(5)将ListView 控件从“工具箱”拖动到已添加到窗体的Panel 控件上将ListView 控件的Dock 属性设置为“Top”。
(6)将Splitter 控件从“工具箱”拖动到已添加到窗体的Panel 控件上在“属性”窗口中将Dock 属性设置为“Top”。
这将使其停靠在ListView 控件的底部。
(7)将Label控件从“工具箱”拖动到已添加到窗体的Panel 控件上(放在Splitter 控件的下方)在“属性”窗口中将Dock 属性设置为“Top”。
这将使其停靠在Splitter 控件的的底部(也可以再加一个Panel)。
(8)将RichTextBox 控件从“工具箱”拖动到Panel 控件上将RichTextBox 控件的“停靠”属性设置为“Fill”。
vs使用方法
首先,要进行有效的对比,我们需要明确对比的对象。
无论是
比较两款产品、两种方法,还是两个选项,都需要清晰地确定对比
的范围和内容。
只有明确对比的对象,才能有针对性地进行分析和
评判。
其次,对比的过程中需要收集相关信息和数据。
这包括对比对
象的特点、性能、功能、价格等方面的信息。
在收集信息的过程中,我们可以借助各种途径,比如查阅资料、浏览网站、询问他人的意
见等。
通过充分的信息收集,可以更全面地了解对比对象,为后续
的分析打下基础。
接下来,对比的关键在于分析和评价。
在收集了足够的信息后,我们就可以对对比对象进行深入的分析和评价。
这包括比较各个方
面的优劣势,找出各自的特点和亮点,以及对比对象的适用场景和
使用条件等。
通过深入的分析和评价,可以更清晰地了解对比对象
的优缺点,为最终的选择提供依据。
最后,对比的结果需要有一个明确的结论。
在经过充分的分析
和评价后,我们需要得出一个明晰的结论,明确指出哪个对比对象
更适合我们的需求或者更优秀。
结论需要基于充分的事实和数据,
同时也要考虑个人的实际情况和偏好,做出最合适的选择。
总之,vs使用方法需要我们明确对比对象,充分收集信息和数据,进行深入的分析和评价,最终得出明晰的结论。
通过合理有效
地使用vs方法,我们可以更好地进行比较和选择,为生活和工作带
来更多的便利和效益。
希望本文的介绍对大家有所帮助,谢谢阅读!。
1.1跟我学VS#语言编程技术——C#语言中的图形编程应用技术及示例1.1.1C#语言中的图形编程应用技术及示例1、图形类所在的命名空间主要采用.Net中的System.Drawing,更高级的函数则包含在System.Drawing.Drawing2D、System.Drawing.Imaging、System.Drawing.Text等命名空间中。
2、Graphics对象它采用面向对象的封装机制,包含指定要在屏幕上作图的各个属性,类似于VC++6.0中的窗口上下文设备,但与它又有差别(没有将Pen、Brush、Path、Image、Font等对象捆绑),这些对象是独立于Graphics对象的,它们为Graphics类中的图形方法的参数。
从而简化了图形编程。
3、图形编程的方法由于Graphics对象封装了GDI+(VC#中的,而VC++.Net中为GDI方式)界面画图方法和图形显示设备,不必完成获得设备句柄、装载句柄、保存和恢复句柄等工作。
而只需通过事件参数PaintEventArgs、MouseEventAgrs来创建一个Graphics对象的实例或直接通过Graphics对象调用相应的图形方法来作图。
4、图形编程中常用的几个结构(1)Rectangle结构体主要有左上角的x与y及width、height等四个属性(存储矩形区域的位置和大小)。
并且可以对它进行“==”(测试两个 Rectangle 结构的位置和大小是否相同)、“!=”等比较操作。
RectangleF结构体代表浮点数类型。
(2)Size结构体主要有width、height等两个属性(用宽度和高度的有序对表示矩形区域的大小)。
SizeF 结构体代表浮点数类型。
并且可以实现Size到Point((Point)Size)、Size到SizeF((SizeF)Size)的转换。
(3)Point结构体主要有x与y两个属性(表示在二维平面中定义点的整数x和y坐标的有序对)。
并且可以对它进行“==”、“!=”等比较操作。
5、图形编程中常见的属性类(1)Pen 画笔类它主要指定线宽和线的模式。
Pen 对象绘制具有指定宽度和样式的直线和曲线。
使用DashStyle 属性绘制不同的虚线。
由 Pen 对象绘制的直线可用各种填充模式(包括纯色和纹理)填充。
填充模式取决于Brush画刷或用作填充对象的纹理。
分别可以采用Brush、Color、及Brush、width和Color、width来创建一个画笔。
Pen myPen=new Pen(Color.Black, 3); //创建一个3个像素宽的黑色画笔myPen.DashStyle=DashStyle.Dot;//并指定由点构成的虚直线画笔。
(2)Brush画刷类它主要指定填充区域的颜色和样式。
画刷主要有几种风格:实心画刷(SolidBrush,用单一颜色填充)、网格画刷(HatchBrush,用交叉网格填充)、空画刷(不填充)等。
如果要创建这些画刷,可以分别采用如下的子类的实例来实现:HatchBrush(网格)、LinearGradientBrush(线性渐变,封装双色渐变和自定义多色渐变)、PathGradientBrush(它是从路径的中点到路径的外边界边缘的平滑的彩色渐变。
)、SolidBrush(单色画刷)、TextureBrush(画纹画刷,使用图像来填充)。
如:1)SolidBrush drawBrush=new SolidBrush(Color.Black); //创建一个黑色的画刷2)HatchBrush myBrush=new HatchBrush(HatchStyle.Vertical,Color.Red,Color.Black);//方向,前景色,背景色3)Image myImg=Image.FromFile(String filename) ;TextureBrush textureBrush=new TextureBrush(myImg); //使用指定的图象作为画刷(3)Color颜色类它主要指定图形的颜色,是ARGB格式。
可以采用:1)Color.FromArgb()方法从四个8 位ARGB 分量(alpha--- alpha值默认为 255(完全不透明)、红色、绿色和蓝色)值创建Color对象。
如:SolidBrush trnsRedBrush = new SolidBrush(Color.FromArgb(120, 255, 0, 0));2)Color.FromName()方法根据预定义颜色的指定名称来创建一个Color类对象。
有效名称与KnownColor 枚举的元素名称相同。
如:Color mycolor=Color.FromName("Blue");(4)Font字体类它主要指定系统中的字体。
可以采用如下方式创建出新的字体。
Font drawFont=new Font("Arial",16); //字体名为“Arial”,大小为16磅由于Font 对象是不可变的(一旦创建出将无法调整它的任何属性),只能给控件的Font 属性分配一个新Font 对象。
但可以采用如下方法使新的字体基于现有字体。
myControl.Font = new Font(myControl.Font, myControl.Font.Style | FontStyle.Bold);编程要点:常见的几种字形为FontStyle.Bold 粗体,FontStyle.Italic 斜体,FontStyle.Regular 正常体,FontStyle.Strikeout 带删除线的文字,FontStyle.Underline 带下划线的文字。
(5)Image类Image.FromFile(String filename) 方法,以实现从指定的文件中创建Image 对象。
并返回所创建的Image 对象。
Bitmap位图类:它表示一个矩形图形并可以显示图片,也可以从指定的文件中初始化Bitmap 类的对象。
6、Graphics类常用的画图方法(注意它们都有重载方法以实现以不同的参数画出同一种图形)(1)点DrawLine()画线(两个Point对象并且为同一个点时)。
(2)线DrawLine()画线(两个Point对象)、DrawLines()画线段(Point的数组)、DrawArc()画椭圆弧(X、Y、Width、Height、StartAngle、ArcAngle)、DrawClosedCurve()画封闭的曲线(Point的数组)、DrawCurve()画曲线(Point的数组)、FillClosedCurve()画添充封闭的曲线(Point的数组)。
(3)面DrawRectangle()和FillRectangle()画矩形和添充矩形(X、Y、Width、Height )、DrawPolygon()和FillPolygon()画多边形和添充多边形(Point的数组)、DrawEllipse()和FillEllipse()画椭圆和添充椭圆(X、Y、Width、Height )、DrawPie()和FillPie() 画椭圆饼和添充椭圆饼(X、Y、Width、Height )。
(4)其它DrawImage()画图像(X、Y并采用原始的大小)、DrawString()画字符串(Font、Brush、X、Y)、Clear() 清除图形区域、Dispose() 释放Graphics对象所占用的资源。
7、利用Graphics对象画图例:以下为在控件的Paint()方法内(PaintEventArgs e)(1)画线例1,画一般的直线:Pen myPen=new Pen(myBrush,2);g.DrawLine(myPen,new Point(this.Top,this.Left),new Point(this.Right,this.Bottom));例2,画虚直线:Pen myPen=new Pen(Color.Blue,2);myPen.DashStyle=DashStyle.Dash;g.DrawLine(myPen,100,50,300,80);例3,画椭圆弧线:g.DrawArc(myPen, 100,50,100,70,30,180); 起始角度为30度,弧度为180度例4,画曲线:int offset = 2; int numSegments = 4; float tension = 1.0F;e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, tension);(2)画面例1,画椭圆:g.DrawEllipse(myPen,0,0,this.Width, this.Height); 或可以:Rectangle myRect=new Rectangle(100,100,200,200);g.DrawEllipse(myPen,myRect);例2,画多边形:Point []myPointArray={new Point(0,0),new Point(50,30),new Point(30,60)}; //定义出多边形所在的各个顶点数组g.DrawPolygon(myPen,myPointArray);//画出该多边形(其中myPen指定线宽和颜色)(3)画图像或位图GDI+提供了Image和Bitmap类来实现画图像或位图,其中Image类负责装载和保存图像,Bitmap类(支持多种图像格式,如*.gif、*.jpeg、*.bmp、*.png、*.tif)从Image类派生出,将图像转换为GDI+的标准格式以实现在像素级控制图像。
例1:画图像Bitmap myBitmap=new Bitmap("Climber.jpg"); //加载指定的图像文件g.DrawImage(myBitmap,x,y); //然后在指定的位置上画出该图像例2:Bitmap类有一个Clone()方法可以实现对图像的复制,通过指定原矩形以指定想要拷贝的源图像区域,实现对图像的复制。
Bitmap originalBitmap=new Bitmap("soda.gif"); //生成原图像Rectangle sourceRectangle=new Rectangle(0,0,originalBitmap.Width,originalBitmap.Height); //指定想要拷贝的源图像区域Bitmap copyBitmap=originalBitmap.Clone(sourceRectangle,PixelFormat.DontCare); //拷贝源图像区域g.DrawImage(originalBitmap,10,10);g.DrawImage(copyBitmap,100,10); //分别画出原图像与复制后的图像(4)写文字String drawString="Sample Text !";Font myFont=new Font("Arial",16); //定义自己的字体对象(指定字体名及大小)SolidBrush drawBrush=new SolidBrush(Color.Black); //定义画刷StringFormat drawFormat=new StringFormat();drawFormat.FormatFlags=StringFormatFlags.DirectionVertical; //产生垂直方向的文字g.DrawString(drawString,myFont,drawBrush,100,100,drawFormat);编程要点:StringFormatFlags枚举定义文字的格式,如成员DirectionRightToLeft可指定文本从右到左排列。