- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
补充图形设计
运行效果: * (4)使用LinearGradientBrush类定义线性渐变 这个类用于定义线性渐变画笔,可以是双色渐变,也可 以是多色渐变。缺省情况下,渐变由起始颜色沿着水平方 向平均过渡到终止颜色。要定义多色渐变,需要使用 InterpolationColors属性。下面的示例说明如何由白色渐 变到蓝色。 例: private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; LinearGradientBrush myBrush = new LinearGradientBrush( this.ClientRectangle, Color.White, Color.Blue, LinearGradientMode.Vertical ); g.FillRectangle( myBrush, this.ClientRectangle ); } * 如果创建应用程序后向设计窗体上拖放一些控件,可以看到运行后该图就是一个漂亮的背景了。 * 在这个例子中,可以看到当使用FillPath()方法填充路径的时候,如果多个图形互相重叠,则重叠部分的数目为偶数时不会被填充,因此右图中间部分仍为背景色而不是蓝色。 * 附:平移、旋转与缩放 Graphics类提供了三种对图像进行几何变换的方法,它们 是TranslateTransform()方法、RotateTransform()方法和 ScaleTransform()方法,分别用于图形图像的平移、旋转和 缩放(以坐标系原点为中心)。 TranslateTransform( )方法的形式为: public void TranslateTransform(float dx,float dy) 其中,dx表示平移的x分量,dy表示平移的y分量; RotateTransform( )方法的形式为: public void RotateTransform(float angle) 其中,angle表示旋转角度; ScaleTransform( )方法的形式为: public void ScaleTransform(float sx,float sy) 其中,sx表示x方向的缩放比例,sy表示y方向的缩放比例; * 例:三种变换方法示例。 private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; g.FillEllipse(new SolidBrush(Color.FromArgb( 80, Color.Red )), 120,30,200,100); //椭圆透明度80% g.RotateTransform(30.0f); //顺时针旋转30度 g.FillEllipse(new SolidBrush(Color.FromArgb(80,Color.Blue)), 120,30,200,100); //水平方向向右平移200个像素,垂直方向向上平移100个像素 g.TranslateTransform(200.0f,-100.0f); g.FillEllipse(new SolidBrush(Color.FromArgb(50,Color.Green)), 120,30,200,100); g.ScaleTransform(0.5f,0.5f); //缩小到一半 g.FillEllipse(new SolidBrush(Color.FromArgb(100, Color.Red)), 120,30,200,100); } * * 7.2 基本图形的绘制 1. 画点 VC#采用Point结构和SetPixel()方法完成画点的功能;其中Point用于图形设计,SetPixel()用于图像处理 Point原型: public struct Point; 使用: public Point p1 = new Point(); 每个点结构有x和y两个属性,表示横纵坐标,如: p1.x = 30; p1.y = 100;
您可能关注的文档
- 虚拟与倒装.doc
- 蓼科生药 大黄、何首乌.doc
- 虚拟旅游体验项目设计.ppt
- 虚拟化系列-VMware vSphere 5.1 网络管理.docx
- 虚拟机Jumpstart网络安装Solaris10系统.docx
- 蔡秀华公开课.ppt
- 虚拟机搭建环境的分享ppt.pptx
- 虚拟机内关键技术的研究.doc
- 虚拟现实与人工智能在家装设计行业的应用.docx
- 虚拟机中centos6.6hadoop环境搭建.docx
- 2026高考数学一轮复习课件 人教A版 第六章 §6.7 子数列问题.pptx
- 2026高考数学一轮复习课件 人教A版 第八章 §8.1 直线的方程.pptx
- 2026高考数学一轮复习课件 人教A版 第四章 §4.8 解三角形.pptx
- 2026高考数学一轮复习课件 人教A版 第一章 必刷小题1 集合、常用逻辑用语、不等式.pptx
- 2026高考数学一轮复习课件 人教A版 第四章 §4.2 同角三角函数基本关系式及诱导公式.pptx
- 2026高考数学一轮复习课件 人教A版 第二章 §2.6 二次函数与幂函数.pptx
- 2026高考数学一轮复习课件 人教A版 第二章 必刷小题3 基本初等函数.pptx
- 2026高考数学一轮复习课件 人教A版 第十章 必刷大题20 概率与统计.pptx
- 2026高考数学一轮复习课件 人教A版 第六章 §6.4 数列中的构造问题.pptx
- 2026高考数学一轮复习课件 人教A版 第二章 §2.7 指数运算与对数运算.pptx
文档评论(0)