- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十四章 图形图像与多媒体编程 ;14.1 GDI+概述 ;?在C#中,所有图形图像处理功能都包含在以下名称空间下:
1. System.Drawing名称空间
提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等。
2. System.Drawing.Drawing2D名称空间
提供了高级的二维和矢量图形功能。主要有梯度型画刷、Matrix类(用于定义几何变换)和GraphicsPath类等。
3. System.Drawing.Imaging名称空间
提供了高级 GDI+ 图像处理功能。
4. System.Drawing.Text名称空间
提供了高级 GDI+ 字体和文本排版功能 ;14.1.1 Graphics类 ; 2.从当前窗体获取对Graphics对象的引用
把当前窗体的画刷、字体、颜色作为缺省值获取对Graphics对象的引用,注意这种对象只有在处理当前Windows窗口消息的过程中有效。如果想在已存在的窗体或控件上绘图,可以使用此方法。例如:
Graphics g=this.CreatGraphics();
……
3.从继承自图像的任何对象创建Graphics对象。
此方法在需要更改已存在的图像时十分有用。例如:
Bitmap bitmap=new Bitmap(@C:\test\a1.bmp);
Graphics g=Graphics.FromImage(bitmap);;14.1.2 颜色 ;? public static Color FromArgb(int red,int green,int blue)
三个参数分别表示R、G、B三色,Alpha值使用缺省值255,即完全不透明。例如:
Color red=Color.FromArgb(255,0,0);
Color green=Color.FromArgb(0,255,0);
Color blue=Color.FromArgb(0,0,0xff);
其中,0xff为十六进制表示形式。
?第二种形式使用四个参数,格式为:
public static Color FromArgb(int alpha,int red,int green,int blue)
四个参数分别表示透明度和R、G、B三色值。; ⑵使用系统预定义颜色
在Color结构中已经预定义了141种颜色,可以直接使用,例如:
Color myColor;
myColor = Color.Red;
myColor = Color.Aquamarine;
myColor = Color.LightGoldenrodYellow;
;14.1.3 笔和画笔 ;?笔(Pen)的用法演示示例。
1) 新建一个Windows应用程序,适当加宽窗体宽度。然后切换到代码方式,添加名称空间引用:
using System.Drawing.Drawing2D;
2) 添加Form1_Paint事件代码。
private void Form1_Paint(object sender,
System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Blue,10.5f); g.DrawString(蓝色,宽度为10.5,this.Font,
new SolidBrush(Color.Black),5,5);
g.DrawLine(pen,new Point(110,10),new Point(380,10));
pen.Width=2;
pen.Color=Color.Red;
g.DrawString(红色,宽度为2,this.Font,
new SolidBrush(Color.Black),5,25);; g.DrawLine(pen,new Point(110,30),new Point(380,30));
pen.StartCap=LineCap.Flat;
pen.EndCap=LineCap.ArrowAnchor;
pen.Width=9;
g.DrawString(红色箭头线,this
文档评论(0)