第十一章 C#图形操作《算法与程序设计--C#》(河北科学技术出版社)章节过关卷

2025-09-16
| 2份
| 17页
| 80人阅读
| 1人下载

资源信息

学段 中职
学科 职教专业课
课程 算法与程序设计(C#)
教材版本 算法与程序设计-C#
年级 -
章节 项目十一 C #图形操作
类型 作业-单元卷
知识点 C#图形操作
使用场景 同步教学-单元练习
学年 2025-2026
地区(省份) 河北省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 260 KB
发布时间 2025-09-16
更新时间 2025-09-16
作者 liqp_080269423
品牌系列 学易金卷·阶段检测模拟卷
审核时间 2025-09-16
下载链接 https://m.zxxk.com/soft/53942097.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

《算法与程序设计--C#》河北科学技术出版社 第十一章 C#图形操作 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共20小题,每题2分,共40分) 1.为在窗体上绘制文字,需引用的关键命名空间是( )。 A. System.IO B. System.Text C. System.Drawing D. System.Threading 2.定义 Pen 对象时,下列语法错误的是( )。 A. Pen myPen = new Pen(Color.Red, 2); B. Pen myPen = new Pen(new SolidBrush(Color.Blue)); C. Pen myPen = new Pen(new Bitmap("test.jpg")); D. Pen myPen = new Pen(Color.Green); 3.要设置 Pen 绘制线条的颜色,需修改( )属性。 A. Color B. Width C. DashStyle D. PenType 4.不能直接创建 Graphics 对象的方式是( )。 A. Graphics g = this.CreateGraphics(); B. Graphics g = e.Graphics; C. Graphics g = Graphics.FromImage(myBitmap); D. Graphics g = new Graphics(); 5.关于 SolidBrush 说法错误的是( )。 A. 属于 Brush 派生类,用于定义单色画笔 B. 可通过 SolidBrush myBrush = new SolidBrush(Color.Red); 创建 C. 能设置画笔绘制线条的宽度 D. 常配合 Graphics 类方法填充图形 6.绘制矩形时,若要让矩形左上角坐标 (100, 100)、宽 80、高 60,正确代码是( )。 A. g.DrawRectangle(Pens.Red, “100”, “100”, 80, 60); B. g.DrawRectangle(new Pen(Color.Red), 100, 100, 80, 60); C. g.DrawRectangle(SolidBrush.Red, 100, 100, 80, 60); D. g.DrawRectangle(new SolidBrush(Color.Red), 100, 100, 80, 60); 7.以下关于 GDI+ 坐标系统说法错误的是( )。 A. 窗体左上角是原点 B. X 轴向右,Y 轴向下 C. 不能修改坐标系统 D. 可通过 Matrix 变换修改坐标 8.要绘制一段从 (50,50) 到 (150,150) 的直线,正确代码是( )。 A. g.DrawLine(Pens.Black, 50, 50, 150, 150); B. Pen myPen = new Pen(Color.Black); g.DrawLine(myPen, 50, 50, 150, 150); C. 以上两种都可以 D. g.DrawLine(Color.Black, 50, 50, 150, 150); 9.关于 Font 类说法错误的是( )。 A. 用于定义字体样式 B. 可通过 new Font创建 C. 创建后字体大小不能修改 D. 绘制文字时需配合 Graphics.DrawString 方法 10.在 Paint 事件中,绘制文字“Hello”到窗体,字体“微软雅黑”、14 号、加粗,正确代码是( )。 A. g.DrawString("Hello", new Font("微软雅黑", 14, FontStyle.Bold), Brushes.Red, 10, 10); B. SolidBrush myBrush = new SolidBrush(Color.Red); g.DrawString("Hello", new Font("微软雅黑", 14, FontStyle.Bold), myBrush, 10, 10); C. 以上两种都可以 D. g.DrawString("Hello", "微软雅黑", 14, FontStyle.Bold, Brushes.Red, 10, 10); 11.以下属于 Brush 派生类的是( )。 A. SolidBrush B. HatchBrush C. 以上都是 D. Pen 12.若要填充一个矩形区域为红色渐变效果,应使用( )。 A. SolidBrush B. LinearGradientBrush C. HatchBrush D. TextureBrush 13.Graphics 类的 DrawEllipse 方法,参数不包含以下( )。 A. Pen 对象 B. 椭圆左上角 x 坐标 C. 椭圆左上角 y 坐标 D. 椭圆的圆心坐标 14.关于 Bitmap 类说法正确的是( )。 A. 可加载本地图片文件 B. 可配合 Graphics.FromImage 生成 Graphics 对象绘制图像 C. 以上都正确 D. 只能显示图片,不能修改像素 15.以下不能创建 Graphics 对象的场景是( )。 A. 一般在Windows窗体应用程序中使用。 B. 在按钮点击事件中用 this.CreateGraphics(); C. 在 Paint 事件中通过 e.Graphics 获取 D. 在控制台应用程序 Main 方法中 new Graphics(); 16.要让绘制的文字有阴影效果,常用思路是( )。 A. 先绘制灰色文字偏移一点,再绘制正常颜色文字 B. 利用 Graphics 平移变换,绘制两次文字 C. 以上方法均可尝试 D. 设置 Font 的 Shadow 属性 17.以下关于 HatchBrush 说法错误的是( )。 A. 可绘制预设图案填充 B. 需引用 System.Drawing.Drawing2D 命名空间 C. 只能填充矩形,不能填充椭圆 D. 构造函数可设置前景色、背景色、图案样式 18.若窗体分辨率变化,想让绘制的图形始终居中,需在( )事件中重新计算坐标。 A. Load B. Resize C. Click D. Paint 19.定义一个“点”结构存储坐标,正确的是( )。 A. struct Point { public int X; public int Y; } B. struct Point { public int X { get; set; } public int Y { get; set; } } C. class Point { public int X, Y; } D. A、B正确 20.以下能正确释放 Graphics 对象资源的方式是( )。 A. g.Dispose(); B. using (Graphics g = this.CreateGraphics()) { / 绘图操作 */ }*(自动 Dispose ) C. 不管它,系统自动回收 D. A、B正确 二、判断题(10道,每题2分,共20分 ) 1.GDI+中,Pen类不仅能设置线条颜色,还能设置线条宽度和虚线样式。( ) 2.Graphics类的DrawImage方法,能自动调整输出图像的大小适配目标区域。( ) 3.SolidBrush是Brush的子类,创建后可直接修改其颜色属性重新赋值。( ) 4.在Paint事件外调用e.Graphics会报错。( ) 5.Font类对象一旦创建,字体、大小、样式就不能再改变。( ) 6.使用using语句创建Pen对象,可自动释放非托管资源,无需手动Dispose。( ) 7.GDI+中,所有图形绘制方法都必须传入Pen对象。( ) 8.Bitmap类加载的图像,只能显示不能修改像素。( ) 9.LinearGradientBrush属于System.Drawing命名空间。( ) 10.窗体最小化后再恢复,Paint事件会重新触发,重绘图形。( ) 三、填空题(10道,每题2分,共20分 ) 1.GDI+ 中,绘制文本需用到____类的DrawString方法,该方法需传入字体、画刷和坐标参数。 2.要创建一个红色、宽度为2的画笔对象,代码为Pen myPen = new Pen(____); 。 3.若要填充一个矩形区域为蓝色,需调用Graphics的____方法,配合SolidBrush。 4.加载本地图片到Bitmap对象的代码:Bitmap myBmp = ____ Bitmap("image.jpg" ); 5.在Paint事件中,获取绘图上下文的对象是____。 6.定义一个字体为“黑体”、12号、加粗的Font对象,代码:Font myFont = new Font(____); 。 7.GDI+ 中,修改坐标系原点到窗体中心,可通过____类的Transform属性。 8.绘制一段从(10,10)到(100,100)的直线,需调用Graphics的____方法,传入Pen和坐标参数。 9.若要让绘制的图形始终在窗体最上层显示,需将绘图逻辑写在____事件。 10.给Bitmap图像添加旋转效果,可通过____类的RotateFlip方法。 四、程序分析题(本题共2小题,每题5分,共10分 ) 1.观察 button4_Click 方法的代码,分析其功能和运行结果: private void button4_Click (object sender,EventArgs e) //画弧线 { Graphics g = this.CreateGraphics(); Pen mypen = new Pen (Color.Magenta,3) ; Rectangle myrec = new Rectangle (10,200,100,100) ; g.DrawArc (mypen,myrec,0,-180) ; g.Dispose(); } 单击button4运行后,会在窗体上呈现: 2.private void button5_Click (object sender,EventArgs e) { Graphics g = this.CreateGraphics(); Pen mypen = new Pen (Color.Magenta,3) ; Rectangle myrec = new Rectangle (150,200,100,100) ; g.DrawPie (mypen,myrec,0,-180) ; g.Dispose(); } 运行后会在窗体上呈现结果为: 五、程序填空题(本题共1小题,每题5分,共5分 ) 1.请根据以下 C# Windows 窗体应用程序中绘制矩形的代码片段,完成程序填空。 private void button1_Click(object sender, EventArgs e) { Graphics g = this.______(); Pen mypen = new Pen(Color.Red, 3); g.DrawRectangle(mypen, 10, 10, 100, 100); Brush mybs = new SolidBrush(Color.Green); g.FillRectangle(mybs, 11, 11, 99, 99); g.Dispose(); } 六、程序改错题(本题共1小题,每题5分,共5分 ) 1.本题是用Pen绘制一条红色色的线条,程序有一处错误,找出并改正。 private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); Pen mypen = new Pen( 3,Color.Red); g.DrawLine(mypen,10,50,10,250); g.Dispose(); } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 《算法与程序设计--C#》河北科学技术出版社 第十一章 C#图形操作 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共20小题,每题2分,共40分) 1.为在窗体上绘制文字,需引用的关键命名空间是( )。 A. System.IO B. System.Text C. System.Drawing D. System.Threading 【答案】C 【解析】System.Drawing 命名空间提供了图形绘制相关的类(如 Font、Graphics 等 ),用于在窗体等上绘制文字、图形等操作,A 是文件操作,B 是文本处理,D 是线程相关。 2.定义 Pen 对象时,下列语法错误的是( )。 A. Pen myPen = new Pen(Color.Red, 2); B. Pen myPen = new Pen(new SolidBrush(Color.Blue)); C. Pen myPen = new Pen(new Bitmap("test.jpg")); D. Pen myPen = new Pen(Color.Green); 【答案】C 【解析】Pen 构造函数可接收 Color、Brush 等参数,Bitmap 不能直接用于构造 Pen,A、B、D 语法正确,C 错误,故选 C。 3.要设置 Pen 绘制线条的颜色,需修改( )属性。 A. Color B. Width C. DashStyle D. PenType 【答案】A 【解析】Color 属性用于设置 Pen 绘制线条的颜色;Width 是宽度,DashStyle 是虚线样式,PenType 是画笔类型,故选 A。 4.不能直接创建 Graphics 对象的方式是( )。 A. Graphics g = this.CreateGraphics(); B. Graphics g = e.Graphics; C. Graphics g = Graphics.FromImage(myBitmap); D. Graphics g = new Graphics(); 【答案】D 【解析】Graphics 是抽象类,不能直接 new 实例化,需通过 CreateGraphics、事件参数 e.Graphics、FromImage 等方式获取,A、B、C 正确,D 错误,故选 D。 5.关于 SolidBrush 说法错误的是( )。 A. 属于 Brush 派生类,用于定义单色画笔 B. 可通过 SolidBrush myBrush = new SolidBrush(Color.Red); 创建 C. 能设置画笔绘制线条的宽度 D. 常配合 Graphics 类方法填充图形 【答案】C 【解析】SolidBrush 用于定义单色填充画笔,不负责设置线条宽度(线条宽度由 Pen 类设置 )。 6.绘制矩形时,若要让矩形左上角坐标 (100, 100)、宽 80、高 60,正确代码是( )。 A. g.DrawRectangle(Pens.Red, “100”, “100”, 80, 60); B. g.DrawRectangle(new Pen(Color.Red), 100, 100, 80, 60); C. g.DrawRectangle(SolidBrush.Red, 100, 100, 80, 60); D. g.DrawRectangle(new SolidBrush(Color.Red), 100, 100, 80, 60); 【答案】B 【解析】DrawRectangle 方法参数需 Pen 对象(设置线条样式、颜色等 )、x 坐标、y 坐标、宽度、高度 。A 中 Pens.Red 是预定义 Pen,但坐标应该用整型,而不是字符串;B 用 new Pen 显式创建,正确;C SolidBrush 不能直接用于 DrawRectangle(需 Pen );D 同理,SolidBrush 不是 Pen,故选 B。 7.以下关于 GDI+ 坐标系统说法错误的是( )。 A. 窗体左上角是原点 B. X 轴向右,Y 轴向下 C. 不能修改坐标系统 D. 可通过 Matrix 变换修改坐标 【答案】C 【解析】GDI+ 支持坐标变换,通过 Graphics.Transform 属性(Matrix 对象 )可平移、 缩放、旋转坐标系,如翻转 Y 轴(设置 Scale(1, -1) 并平移 )。 8.要绘制一段从 (50,50) 到 (150,150) 的直线,正确代码是( )。 A. g.DrawLine(Pens.Black, 50, 50, 150, 150); B. Pen myPen = new Pen(Color.Black); g.DrawLine(myPen, 50, 50, 150, 150); C. 以上两种都可以 D. g.DrawLine(Color.Black, 50, 50, 150, 150); 【答案】C 【解析】DrawLine 方法可接收预定义 Pens 静态对象(如 A ),也可接收自定义创建的 Pen 对象(如 B ),D 不能直接传 Color,需 Pen,故选 C。 9.关于 Font 类说法错误的是( )。 A. 用于定义字体样式 B. 可通过 new Font创建 C. 创建后字体大小不能修改 D. 绘制文字时需配合 Graphics.DrawString 方法 【答案】C 【解析】Font 一旦创建,其字体、大小、样式等属性是只读的(不可直接修改 ),若要变更需重新创建 Font 对象。 10.在 Paint 事件中,绘制文字“Hello”到窗体,字体“微软雅黑”、14 号、加粗,正确代码是( )。 A. g.DrawString("Hello", new Font("微软雅黑", 14, FontStyle.Bold), Brushes.Red, 10, 10); B. SolidBrush myBrush = new SolidBrush(Color.Red); g.DrawString("Hello", new Font("微软雅黑", 14, FontStyle.Bold), myBrush, 10, 10); C. 以上两种都可以 D. g.DrawString("Hello", "微软雅黑", 14, FontStyle.Bold, Brushes.Red, 10, 10); 【答案】C 【解析】DrawString 方法可接收 Brush (包括 Brushes 静态 brushes 或自定义 SolidBrush 等 )、字体、坐标等参数 。A 用 Brushes.Red 静态画刷,B 用自定义 SolidBrush,都正确;D 方法参数格式错误(无此重载 )。 11.以下属于 Brush 派生类的是( )。 A. SolidBrush B. HatchBrush C. 以上都是 D. Pen 【答案】C 【解析】SolidBrush(单色填充 )、HatchBrush(图案填充 )均继承自 Brush 类,Pen 是画笔类(用于线条 ),不是 Brush 派生。 12.若要填充一个矩形区域为红色渐变效果,应使用( )。 A. SolidBrush B. LinearGradientBrush C. HatchBrush D. TextureBrush 【答案】B 【解析】LinearGradientBrush 用于创建线性渐变画刷,可实现颜色渐变填充;SolidBrush 是单色,HatchBrush 是图案,TextureBrush 是纹理。 13.Graphics 类的 DrawEllipse 方法,参数不包含以下( )。 A. Pen 对象 B. 椭圆左上角 x 坐标 C. 椭圆左上角 y 坐标 D. 椭圆的圆心坐标 【答案】D 【解析】DrawEllipse 方法参数是 Pen、x、y、宽度、高度(通过矩形区域确定椭圆 ),不直接用圆心坐标,需换算成矩形区域。 14.关于 Bitmap 类说法正确的是( )。 A. 可加载本地图片文件 B. 可配合 Graphics.FromImage 生成 Graphics 对象绘制图像 C. 以上都正确 D. 只能显示图片,不能修改像素 【答案】C 【解析】Bitmap 可加载本地图片,也能通过 Graphics.FromImage 获取绘图上下文修改像素、绘制等,A、B 正确,D 错误(可通过 LockBits 等方式操作像素 )。 15.以下不能创建 Graphics 对象的场景是( )。 A. 一般在Windows窗体应用程序中使用。 B. 在按钮点击事件中用 this.CreateGraphics(); C. 在 Paint 事件中通过 e.Graphics 获取 D. 在控制台应用程序 Main 方法中 new Graphics(); 【答案】D 【解析】控制台应用程序无窗体图形上下文,无法创建 Windows 图形相关的 Graphics 对象。 16.要让绘制的文字有阴影效果,常用思路是( )。 A. 先绘制灰色文字偏移一点,再绘制正常颜色文字 B. 利用 Graphics 平移变换,绘制两次文字 C. 以上方法均可尝试 D. 设置 Font 的 Shadow 属性 【答案】C 【解析】C# 无直接“Shadow”属性,实现文字阴影需手动绘制:如先画灰色文字在原位置偏移(如 (x+1,y+1) ),再画正常颜色文字在原位置,或用图形变换平移后绘制,A、B 思路正确,D 错误。 17.以下关于 HatchBrush 说法错误的是( )。 A. 可绘制预设图案填充 B. 需引用 System.Drawing.Drawing2D 命名空间 C. 只能填充矩形,不能填充椭圆 D. 构造函数可设置前景色、背景色、图案样式 【答案】C 【解析】HatchBrush 配合 Graphics.FillEllipse、FillRectangle 等方法,可填充椭圆、矩形等封闭图形。 18.若窗体分辨率变化,想让绘制的图形始终居中,需在( )事件中重新计算坐标。 A. Load B. Resize C. Click D. Paint 【答案】B 【解析】窗体 Resize 事件在窗体大小改变时触发,此时重新计算图形居中坐标(基于新窗体宽高 ),Load 是加载时,Click 是点击,Paint 是绘图触发。 19.定义一个“点”结构存储坐标,正确的是( )。 A. struct Point { public int X; public int Y; } B. struct Point { public int X { get; set; } public int Y { get; set; } } C. class Point { public int X, Y; } D. A、B正确 【答案】D 【解析】结构(struct )可定义字段或属性存储数据 。A 定义公共字段,正确;B 定义公共属性,正确;C 是类不是结构,不符合题意。 20.以下能正确释放 Graphics 对象资源的方式是( )。 A. g.Dispose(); B. using (Graphics g = this.CreateGraphics()) { / 绘图操作 */ }*(自动 Dispose ) C. 不管它,系统自动回收 D. A、B正确 【答案】D 【解析】Graphics 是非托管资源(涉及 GDI+ ),需手动释放(Dispose )或用 using 语句(自动调用 Dispose )。A 显式释放,B 隐式释放,正确;C 系统虽会回收,但可能延迟或引发资源泄漏,错误。 二、判断题(10道,每题2分,共20分 ) 1.GDI+中,Pen类不仅能设置线条颜色,还能设置线条宽度和虚线样式。( ) 【答案】√ 【解析】Pen类用于定义绘制线条的属性,像Color(颜色)、Width(宽度)、DashStyle(虚线样式,如Dash、Dot等)都可设置,所以该表述正确。 2.Graphics类的DrawImage方法,能自动调整输出图像的大小适配目标区域。( ) 【答案】× 【解析】DrawImage有多种重载,基础重载仅绘制原始大小图像;若要调整大小,需用带目标矩形参数的重载(如DrawImage(Image, Rectangle) )手动指定缩放,并非“自动”适配,所以错误。 3.SolidBrush是Brush的子类,创建后可直接修改其颜色属性重新赋值。( ) 【答案】× 【解析】SolidBrush的Color属性是只读的(.NET Framework 场景 ),创建后无法直接修改颜色,需重新实例化SolidBrush,所以错误。 4.在Paint事件外调用e.Graphics会报错。( ) 【答案】√ 【解析】e.Graphics 依赖Paint事件上下文,离开Paint事件后,e 变量作用域失效且上下文不存在,调用会引发错误,所以正确。 5.Font类对象一旦创建,字体、大小、样式就不能再改变。( ) 【答案】√ 【解析】Font类属性(如FontFamily、Size、Style )多为只读,若需变更,需重新创建Font实例,所以正确。 6.使用using语句创建Pen对象,可自动释放非托管资源,无需手动Dispose。( ) 【答案】√ 【解析】Pen 实现了IDisposable接口,using语句会在代码块结束时自动调用Dispose,释放GDI+ 非托管资源,所以正确。 7.GDI+中,所有图形绘制方法都必须传入Pen对象。( ) 【答案】√ 【解析】GDI+ 绘制线条、轮廓类操作(Draw系列 ),需Pen对象定义颜色、宽度、样式等;填充类(Fill系列 )需Brush对象,所以正确。 8.Bitmap类加载的图像,只能显示不能修改像素。( ) 【答案】× 【解析】Bitmap 支持像素操作,可通过LockBits、GetPixel/SetPixel方法修改像素值,实现图像编辑,所以错误。 9.LinearGradientBrush属于System.Drawing命名空间。( ) 【答案】× 【解析】LinearGradientBrush 位于System.Drawing.Drawing2D命名空间,需额外引用该命名空间才能使用,所以错误。 10.窗体最小化后再恢复,Paint事件会重新触发,重绘图形。( ) 【答案】√ 【解析】窗体最小化后恢复,系统会标记窗体为“需要重绘”,触发Paint事件重新绘制图形,保证显示正确,所以正确。 三、填空题(10道,每题2分,共20分 ) 1.GDI+ 中,绘制文本需用到____类的DrawString方法,该方法需传入字体、画刷和坐标参数。 【答案】Graphics 【解析】Graphics 类封装了绘图操作,DrawString 是其成员方法,用于在指定位置绘制文本。 2.要创建一个红色、宽度为2的画笔对象,代码为Pen myPen = new Pen(____); 。 【答案】Color.Red, 2 【解析】Pen 构造函数可接收Color和宽度参数,完整代码 Pen myPen = new Pen(Color.Red, 2); 。 3.若要填充一个矩形区域为蓝色,需调用Graphics的____方法,配合SolidBrush。 【答案】FillRectangle 【解析】FillRectangle 用于填充矩形,语法如 g.FillRectangle(Brushes.Blue, x, y, width, height); 。 4.加载本地图片到Bitmap对象的代码:Bitmap myBmp = ____ Bitmap("image.jpg" ); 【答案】new 【解析】Bitmap 构造函数可直接传入图片路径加载,代码 Bitmap myBmp = new Bitmap("image.jpg"); 。 5.在Paint事件中,获取绘图上下文的对象是____。 【答案】e.Graphics 【解析】Paint事件参数e 包含Graphics对象,通过 e.Graphics 可执行绘图操作。 6.定义一个字体为“黑体”、12号、加粗的Font对象,代码:Font myFont = new Font(____); 。 【答案】"黑体", 12, FontStyle.Bold 【解析】Font 构造函数需字体名称、大小、样式枚举,完整代码 Font myFont = new Font("黑体", 12, FontStyle.Bold); 。 7.GDI+ 中,修改坐标系原点到窗体中心,可通过____类的Transform属性。 【答案】Graphics 【解析】Graphics.Transform 属性接收Matrix对象,通过Matrix.Translate 等方法平移坐标系,实现原点调整。 8.绘制一段从(10,10)到(100,100)的直线,需调用Graphics的____方法,传入Pen和坐标参数。 【答案】DrawLine 【解析】DrawLine 方法用于绘制线段,语法 g.DrawLine(myPen, 10, 10, 100, 100); 。 9.若要让绘制的图形始终在窗体最上层显示,需将绘图逻辑写在____事件。 【答案】Paint 【解析】Paint事件是GDI+ 绘图的核心入口,窗体重绘(如遮挡恢复、Resize )时会触发,保证图形持续显示;复杂场景需双缓冲优化闪烁。 10.给Bitmap图像添加旋转效果,可通过____类的RotateFlip方法。 【答案】Bitmap 【解析】Bitmap 类提供RotateFlip 方法,传入RotateFlipType 枚举(如旋转90度、翻转 )实现图像旋转。 四、程序分析题(本题共2小题,每题5分,共10分 ) 1.观察 button4_Click 方法的代码,分析其功能和运行结果: private void button4_Click (object sender,EventArgs e) //画弧线 { Graphics g = this.CreateGraphics(); Pen mypen = new Pen (Color.Magenta,3) ; Rectangle myrec = new Rectangle (10,200,100,100) ; g.DrawArc (mypen,myrec,0,-180) ; g.Dispose(); } 单击button4运行后,会在窗体上呈现: 【答案】在窗体上,以(10, 200) 为左上角,100x100 大小的矩形为边界,会绘制出一段顺时针方向、跨度为180 度的品红色弧线,弧线宽度为 3 。 【解析】 功能:该方法用于在窗体上绘制一段弧线 。通过CreateGraphics 获取窗体的绘图对象g ,创建了一支颜色为Magenta(品红色 )、宽度为 3 的画笔mypen ,定义了一个左上角坐标为(10, 200) ,宽度为100 ,高度为100 的矩形myrec ,作为弧线的边界范围,然后调用DrawArc 方法绘制弧线,起始角度为0 度,扫描角度为-180 度(负号表示顺时针绘制 ),最后释放绘图对象g 。 2.private void button5_Click (object sender,EventArgs e) { Graphics g = this.CreateGraphics(); Pen mypen = new Pen (Color.Magenta,3) ; Rectangle myrec = new Rectangle (150,200,100,100) ; g.DrawPie (mypen,myrec,0,-180) ; g.Dispose(); } 运行后会在窗体上呈现结果为: 【答案】在窗体上,以(150, 200) 为左上角,100x100 大小的矩形为边界,会绘制出一个品红色、宽度为 3 的扇形,该扇形是从0 度开始顺时针扫过180 度形成的,呈现为半个饼图的视觉效果 。 【解析】此方法用于在窗体上绘制一个饼图的一部分(扇形 )。通过CreateGraphics 获取窗体绘图对象g ,创建颜色为Magenta 、宽度为 3 的画笔mypen ,定义左上角坐标(150, 200) 、宽高为100x100 的矩形myrec 作为饼图的边界,调用DrawPie 方法,以0 度为起始角度,-180 度为扫描角度(顺时针绘制 )绘制饼图扇形部分,最后释放绘图对象g 。 五、程序填空题(本题共1小题,每题5分,共5分 ) 1.请根据以下 C# Windows 窗体应用程序中绘制矩形的代码片段,完成程序填空。 private void button1_Click(object sender, EventArgs e) { Graphics g = this.______(); Pen mypen = new Pen(Color.Red, 3); g.DrawRectangle(mypen, 10, 10, 100, 100); Brush mybs = new SolidBrush(Color.Green); g.FillRectangle(mybs, 11, 11, 99, 99); g.Dispose(); } 【答案】CreateGraphics 【解析】在 C# 的 Windows 窗体应用程序中,要在窗体上进行绘图操作,需要先获取用于绘图的 Graphics 对象。this.CreateGraphics() 方法的作用就是创建当前窗体的 Graphics 对象,有了这个对象,才能用 DrawRectangle、FillRectangle 等方法来绘制矩形等图形。 六、程序改错题(本题共1小题,每题5分,共5分 ) 1.本题是用Pen绘制一条红色色的线条,程序有一处错误,找出并改正。 private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); Pen mypen = new Pen( 3,Color.Red); g.DrawLine(mypen,10,50,10,250); g.Dispose(); } 【答案】 Pen mypen = new Pen( 3,Color.Red); 改为:Pen mypen = new Pen(Color.Red,3); 【解析】Pen的参数,先写颜色,再写画笔宽度。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第十一章 C#图形操作《算法与程序设计--C#》(河北科学技术出版社)章节过关卷
1
第十一章 C#图形操作《算法与程序设计--C#》(河北科学技术出版社)章节过关卷
2
第十一章 C#图形操作《算法与程序设计--C#》(河北科学技术出版社)章节过关卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。