- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vc2008 坐标图以及各种画图实例
绘制图像
本章要求掌握用GDI+绘制直线、圆、长方形等图形,在第七章的基础上编写一个类似于“画图”图像图形处理程序
8.1 绘图所用到的常用控件及类
绘图用到的PictureBox,Image, Bitmap, OpenFileDialog,SaveFileDialog等控件或类在前一章已经进行了讲解。现对所用的其它控件或类进行说明。
8.1.1 颜色
在绘制图形时需要指定使用的颜色,在GDI+中,颜色用System.Drawing.Color 结构来表示的。
1 红绿蓝(RGB)值
监视器可以显示的颜色总数非常大—— 超过160万。其确切的数字是2的24次方,即16?777?216。显然,我们需要对这些颜色进行索引,才能指定在给定的某个像素上要显示什么颜色。
给颜色进行索引的最常见方式是把它们分为红绿蓝成分,每种成份的光分为256种不同的强度,其值在0~255之间。
2 设置颜色的方法
l 可以调用静态函数Color.FromArgb()指定该颜色的红绿蓝值。
其格式为
public static Color FromArgb (
int red,
int green,
int blue
)
例如:
Color red = Color.FromArgb(255, 0, 0);
Color green = Color.FromArgb(0, 255, 0);
Color blue = Color.FromArgb(0, 0, 255);
l 获取系统定义的颜色
使用FromArgb()构造颜色是一种非常灵活的技巧,因为它表示我们可以指定人眼能辨识出的任何颜色。但是,如果要得到一种简单、标准、众所周知的纯色,例如红色或蓝色,命名想要的颜色是比较简单的。因此Microsoft还在Color中提供了许多静态属性,每个属性都返回一种命名的颜色。在下面的示例中,把窗口的背景色设置为白色时,就使用了其中一种属性:
this.BackColor = Color.White;
// 与以下语句效果一样
// this.BackColor = Color.FromArgb(255, 255 , 255);
8.1.2 画笔和钢笔
本节介绍Pen和Brush,在绘制图形时需要使用它们。Pen用于告诉graphics实例如何绘制线条。Brush如何填充区域。例如,Pen用于绘制矩形和椭圆的边框。如果需要把这些图形绘制为实心的,就要使用画笔指定如何填充它们。
1画笔
GDI+有几种不同类型的画笔。每种画笔都由一个派生自抽象类System.Drawing.Brush的类实例来表示。最简单的画笔为System.Drawing.SolidBrush。它是单色画笔,用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。
Color customColor = Color.FromArgb(192,192,192);
SolidBrush shadowBrush = new SolidBrush(customColor);
或者
SolidBrush shadowBrush = new SolidBrush(Color.Gray);
2与画笔不同,钢笔只用一个类System.Drawing.Pen来表示。但钢笔比画笔复杂一些,因为它需要指定线条应有多宽(像素),对于一条比较宽的线段,还要确定如何填充该线条中的区域。
Pen solidBluePen = new Pen(Color.FromArgb(0,0,255));
Pen solidWideBluePen = new Pen(Color.Blue, 4);
8.2 绘图所用到的结构
GDI+使用几个类似的结构来表示坐标或区域。下面介绍几个结构,它们都是在System.Drawing命名空间中定义的,如表8.1所示。
表 8-1 Point、Size及Rectangle结构
结 构 主要的公共属性 Point X,Y PointF Size Width, Height SizeF Rectangle Left, Right , Top, Bottom, Width, Height, X, Y, Location, Size RectangleF
8.2.1 Point和PointF结构
表示图像的一点,从概念上讲,Point在这些结构中是最简单的,在数学上,它完全等价于一个二维矢量。我们可以创建一个Point结构:
Point b = new Point(20, 10);
X和Y都是读写属性,也可
您可能关注的文档
最近下载
- 胰岛素抵抗和代谢综合征课件.pptx VIP
- 胰岛素抵抗和代谢综合征.ppt VIP
- GB/T 17747.1-2011_天然气压缩因子的计算 第1部分:导论和指南.pdf
- 《基础护理学》第7章 休息与活动(含答案).docx
- 城市中心区综合性公园使用现状调查研究————以成都市人民公园为例.docx
- 产品档案管理制度及流程.pdf
- 中华民族一家亲,同心共筑中国梦.pptx VIP
- “社工+志愿者”联动模式的思考及对策研究--以惠州市河背社区志愿者项目为例.docx
- 国家开放大学,地域文化,人文武隆形考一 (3).pptx VIP
- (黑龙江省)新课标高中信息技术会考试题 学科整合 试题及答案..doc VIP
文档评论(0)