第70卷 算法与程序设计—图形操作—河北省计算机类—考纲百套卷

| 2份
| 22页
| 56人阅读
| 0人下载

内容正文:

编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。 本试卷是第70卷为专业核心模块训练卷,按《算法与程序设计》中"算法程序卷25——图形操作"范围和要求编写。具体内容为:了解绘图常用类:Graphics、Pen、Brush、Font;了解Graphics类的方法、Drawing类的方法、Brush类方法 河北省对口招生职业技能考试 算法与程序设计 试卷 (算法程序卷25——图形操作) 考试时间:90分钟 满分:100分 一、单项选择题(共20题,每题2分,共40分) 1. C#中,用于绘制图形的核心类是() A.Form B.Graphics C.Pen D.Brush 2. 下列选项中,用于设置画笔颜色和宽度的类是() A.Graphics B.Brush C.Pen D.Font 3. C#中,Brush类的主要作用是() A.绘制线条 B.填充图形内部 C.设置字体样式 D.获取绘图对象 4. 下列方法中,属于Graphics类用于绘制直线的方法是() A.DrawString() B.DrawLine() C.FillRectangle() D.DrawEllipse() 5. C#中,要使用Graphics类进行绘图,首先需要获取() A.Pen对象 B.Brush对象 C.Graphics对象 D.Font对象 6. 下列关于Pen类的说法,正确的是() A.Pen用于填充图形 B.Pen可以设置线条的宽度 C.Pen属于填充类 D.Pen不能设置颜色 7. C#中,Font类的作用是() A.绘制线条 B.填充图形 C.设置文本的字体、大小和样式 D.获取绘图上下文 8. 下列方法中,属于Graphics类用于绘制矩形的方法是() A.DrawLine() B.DrawRectangle() C.FillEllipse() D.DrawString() 9. 下列关于Brush类的子类,说法正确的是() A.SolidBrush用于绘制纯色填充 B.PenBrush用于绘制线条 C.FontBrush用于设置字体 D.GraphicsBrush用于获取绘图对象 10. C#中,Graphics类的DrawString()方法主要用于() A.绘制直线 B.绘制矩形 C.在绘图区域绘制文本 D.填充椭圆 11. 下列选项中,不属于Drawing类相关方法的是() A.DrawLine() B.FillRectangle() C.WriteLine() D.DrawEllipse() 12. 要绘制一条红色、宽度为2像素的直线,应先创建()对象并设置相关属性 A.Graphics B.Pen C.Brush D.Font 13. 下列关于Graphics类的说法,错误的是() A.Graphics是绘图的核心类 B.Graphics可以绘制各种图形 C.Graphics不能绘制文本 D.Graphics需要通过控件的CreateGraphics()方法获取 14. C#中,FillEllipse()方法的作用是() A.绘制椭圆轮廓 B.填充椭圆内部 C.绘制直线 D.绘制文本 15. 下列选项中,用于创建纯色画笔的类是() A.SolidBrush B.Pen C.Font D.Graphics 16. 下列方法中,属于Brush类的核心方法是() A.DrawLine() B.Fill() C.CreateGraphics() D.DrawString() 17. C#中,要设置绘图的字体样式,应使用()类 A.Pen B.Brush C.Font D.Graphics 18. 下列关于Pen类和Brush类的区别,说法正确的是() A.Pen用于填充,Brush用于绘制线条 B.Pen用于绘制线条,Brush用于填充 C.两者功能完全相同 D.两者都不能设置颜色 19. 下列方法中,用于获取控件绘图对象的是() A.CreatePen() B.CreateBrush() C.CreateGraphics() D.CreateFont() 20. C#中,Drawing类相关方法主要用于() A.数据库操作 B.图形绘制 C.文本输入 D.窗体设计 二、填空题(共10空,每空1分,共10分) 21. C#中,________类是绘制图形的核心类,提供了各种绘图方法。 22. Pen类主要用于绘制________,可以设置线条的颜色和宽度。 23. Brush类主要用于________图形的内部区域。 C#中,获取Graphics对象的常用方法是调用控件的________方法。 25. Font类用于设置绘图时文本的________、大小和样式。 26. Graphics类的________方法用于绘制直线。 27. SolidBrush是Brush类的子类,用于实现________填充。 28. C#中,绘制矩形轮廓使用Graphics类的________方法。 29. Brush类的方法主要用于实现图形的________操作。 30. 绘图时,若要在指定位置绘制文本,应使用Graphics类的________方法。 三、判断题(共5题,每题2分,共10分) 31. Graphics类是C#中绘图的核心类,所有绘图操作都依赖于该类。( ) 32. Pen类和Brush类的功能相同,都可以用于绘制线条和填充图形。( ) 33. Font类不仅可以设置字体样式,还可以用于绘制图形。( ) 34. Graphics类的FillRectangle()方法用于填充矩形内部区域。( ) 35. 要使用Brush类进行填充,必须先创建Brush对象并设置填充颜色。( ) 四、程序分析题(共1题,每题10分,共10分) 36. 阅读下面的C#程序,分析其功能并写出运行结果(结合绘图相关类及方法)。 using System; using System.Drawing; class Program { static void Main() { // 假设已获取窗体的Graphics对象g Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); Pen pen = new Pen(Color.Red, 2); Brush brush = new SolidBrush(Color.Blue); g.DrawLine(pen, 10, 10, 100, 100); g.FillRectangle(brush, 120, 10, 50, 50); Console.WriteLine("绘图完成"); pen.Dispose(); brush.Dispose(); g.Dispose(); } } 程序运行结果及功能:___________________ 五、写运行结果题(共2题,每题5分,共10分) 37. 分析下面C#程序段的输出结果(结合绘图相关类的用法): using System; using System.Drawing; class Program { static void Main() { Pen pen = new Pen(Color.Green, 3); Console.WriteLine("画笔颜色:" + pen.Color); Console.WriteLine("画笔宽度:" + pen.Width); pen.Dispose(); } } 程序运行结果:___________________ 38. 分析下面C#程序段的输出结果(结合Graphics类方法): using System; using System.Drawing; class Program { static void Main() { Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); Font font = new Font("宋体", 12); Brush brush = new SolidBrush(Color.Black); g.DrawString("图形操作测试", font, brush, 50, 50); Console.WriteLine("文本绘制完成"); font.Dispose(); brush.Dispose(); g.Dispose(); } } 程序运行结果:___________________ 六、程序改错题(共1题,每题5分,共5分) 39. 下面程序用于绘制一条蓝色直线,但有2处错误,请找出并改正(结合Graphics、Pen类用法): using System; // 缺少必要的命名空间 class Program { static void Main() { Graphics g = null; Pen pen = new Pen(Color.Blue); // 未获取Graphics对象就调用绘图方法 g.DrawLine(pen, 20, 20, 150, 150); Console.WriteLine("直线绘制完成"); pen.Dispose(); g.Dispose(); } } 请找出程序中的错误,并写出正确答案。 七、程序填空题(共3题,每题5分,共15分) 40. 下面程序用于绘制一个红色矩形轮廓,请填写空白处(结合Graphics、Pen类): using System; using System.Drawing; class Program{ static void Main(){ // 获取Graphics对象 Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); // 创建红色、宽度为2的画笔 Pen pen = new Pen(_____, 2); // 绘制矩形轮廓,参数:画笔、x坐标、y坐标、宽度、高度 g._____(pen, 30, 30, 80, 60); Console.WriteLine("矩形绘制完成"); pen.Dispose(); g.Dispose(); } } 41. 下面程序用于填充一个黄色椭圆,请填写空白处(结合Graphics、Brush类): using System; using System.Drawing; class Program{ static void Main(){ Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); // 创建黄色纯色画笔 Brush brush = new _____ (Color.Yellow); // 填充椭圆,参数:画笔、x坐标、y坐标、宽度、高度 g._____(brush, 120, 30, 70, 50); Console.WriteLine("椭圆填充完成"); brush.Dispose(); g.Dispose(); } } 42. 下面程序用于在绘图区域绘制文本,请填写空白处(结合Graphics、Font、Brush类): using System; using System.Drawing; class Program { static void Main() { Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); // 设置字体:宋体、14号、加粗 Font font = new Font("宋体", 14, _____); // 创建黑色画笔 Brush brush = new SolidBrush(Color.Black); // 绘制文本,参数:文本内容、字体、画笔、x坐标、y坐标 g._____("图形操作练习", font, brush, 60, 100); Console.WriteLine("文本绘制完成"); font.Dispose(); brush.Dispose(); g.Dispose(); } } 学科网(北京)股份有限公司 $ 编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。 本试卷是第70卷为专业核心模块训练卷,按《算法与程序设计》中"算法程序卷25——图形操作"范围和要求编写。具体内容为:了解绘图常用类:Graphics、Pen、Brush、Font;了解Graphics类的方法、Drawing类的方法、Brush类方法 河北省对口招生职业技能考试 算法与程序设计 试卷 (算法程序卷25——图形操作) 考试时间:90分钟 满分:100分 一、单项选择题(共20题,每题2分,共40分) 1. C#中,用于绘制图形的核心类是() A.Form B.Graphics C.Pen D.Brush 【答案】B 【解析】Graphics类是C#绘图的核心类,提供了绘制直线、矩形、文本等各种绘图方法;A选项Form是窗体类,用于承载控件和绘图区域;C选项Pen用于绘制线条;D选项Brush用于填充图形内部。 2. 下列选项中,用于设置画笔颜色和宽度的类是() A.Graphics B.Brush C.Pen D.Font 【答案】C 【解析】Pen类专门用于绘制线条,可通过构造函数或属性设置线条的颜色(Color)和宽度(Width);A选项Graphics是绘图核心类,不负责设置画笔属性;B选项Brush用于填充,不涉及线条设置;D选项Font用于设置文本样式。 3. C#中,Brush类的主要作用是() A.绘制线条 B.填充图形内部 C.设置字体样式 D.获取绘图对象 【答案】B 【解析】Brush类的核心功能是填充图形的内部区域(如矩形、椭圆等);A选项绘制线条是Pen类的功能;C选项设置字体样式是Font类的功能;D选项获取绘图对象是Graphics类的相关操作。 4. 下列方法中,属于Graphics类用于绘制直线的方法是() A.DrawString() B.DrawLine() C.FillRectangle() D.DrawEllipse() 【答案】B 【解析】Graphics类的DrawLine()方法专门用于绘制直线,需传入Pen对象和直线的起点、终点坐标;A选项DrawString()用于绘制文本;C选项FillRectangle()用于填充矩形;D选项DrawEllipse()用于绘制椭圆轮廓。 5. C#中,要使用Graphics类进行绘图,首先需要获取() A.Pen对象 B.Brush对象 C.Graphics对象 D.Font对象 【答案】C 【解析】所有绘图操作都依赖于Graphics对象,需先通过控件的CreateGraphics()方法或Graphics.FromHwnd()等方法获取该对象;A、B、D选项均为绘图所需的辅助对象,需在获取Graphics对象后创建。 6. 下列关于Pen类的说法,正确的是() A.Pen用于填充图形 B.Pen可以设置线条的宽度 C.Pen属于填充类 D.Pen不能设置颜色 【答案】B 【解析】Pen类用于绘制线条,可通过Width属性设置线条宽度,通过Color属性设置线条颜色;A、C选项错误,填充图形是Brush类的功能;D选项错误,Pen可以设置颜色。 7. C#中,Font类的作用是() A.绘制线条 B.填充图形 C.设置文本的字体、大小和样式 D.获取绘图上下文 【答案】C 【解析】Font类用于定义绘图时文本的样式,包括字体名称(如宋体)、字号、加粗/倾斜等样式;A选项绘制线条是Pen类功能;B选项填充图形是Brush类功能;D选项获取绘图上下文是Graphics类的相关操作。 8. 下列方法中,属于Graphics类用于绘制矩形轮廓的方法是() A.DrawLine() B.DrawRectangle() C.FillEllipse() D.DrawString() 【答案】B 【解析】Graphics类的DrawRectangle()方法用于绘制矩形轮廓,需传入Pen对象和矩形的坐标、宽高;A选项DrawLine()绘制直线;C选项FillEllipse()填充椭圆;D选项DrawString()绘制文本。 9. 下列关于Brush类的子类,说法正确的是() A.SolidBrush用于绘制纯色填充 B.PenBrush用于绘制线条 C.FontBrush用于设置字体 D.GraphicsBrush用于获取绘图对象 【答案】A 【解析】SolidBrush是Brush类的常用子类,用于实现纯色填充;B、C、D选项均为干扰项,C#中无PenBrush、FontBrush、GraphicsBrush类,绘制线条用Pen类,设置字体用Font类,获取绘图对象用Graphics类。 10. C#中,Graphics类的DrawString()方法主要用于() A.绘制直线 B.绘制矩形 C.在绘图区域绘制文本 D.填充椭圆 【答案】C 【解析】Graphics类的DrawString()方法用于在指定绘图区域绘制文本,需传入文本内容、Font对象、Brush对象和文本位置坐标;A选项绘制直线用DrawLine();B选项绘制矩形用DrawRectangle();D选项填充椭圆用FillEllipse()。 11. 下列选项中,不属于Drawing类相关方法的是() A.DrawLine() B.FillRectangle() C.WriteLine() D.DrawEllipse() 【答案】C 【解析】DrawLine()、FillRectangle()、DrawEllipse()均为System.Drawing命名空间下的绘图相关方法;C选项WriteLine()是Console类的方法,用于在控制台输出文本,与绘图无关。 12. 要绘制一条红色、宽度为2像素的直线,应先创建()对象并设置相关属性 A.Graphics B.Pen C.Brush D.Font 【答案】B 【解析】绘制线条需使用Pen对象,可通过Pen的构造函数(new Pen(Color.Red, 2))设置线条颜色为红色、宽度为2像素;A选项Graphics是绘图核心对象,需先获取,但不直接设置线条属性;C选项Brush用于填充;D选项Font用于文本。 13. 下列关于Graphics类的说法,错误的是() A.Graphics是绘图的核心类 B.Graphics可以绘制各种图形 C.Graphics不能绘制文本 D.Graphics需要通过控件的CreateGraphics()方法获取 【答案】C 【解析】Graphics类可以通过DrawString()方法绘制文本,因此C选项说法错误;A、B、D选项均正确,Graphics是绘图核心类,可绘制直线、矩形等各种图形,常用CreateGraphics()方法获取。 14. C#中,FillEllipse()方法的作用是() A.绘制椭圆轮廓 B.填充椭圆内部 C.绘制直线 D.绘制文本 【答案】B 【解析】FillEllipse()是Graphics类的填充方法,用于填充椭圆的内部区域,需传入Brush对象;A选项绘制椭圆轮廓用DrawEllipse();C选项绘制直线用DrawLine();D选项绘制文本用DrawString()。 15. 下列选项中,用于创建纯色画笔的类是() A.SolidBrush B.Pen C.Font D.Graphics 【答案】A 【解析】SolidBrush是Brush类的子类,专门用于创建纯色填充画笔,可通过构造函数设置填充颜色;B选项Pen用于绘制线条;C选项Font用于设置文本样式;D选项Graphics是绘图核心类。 16. 下列方法中,属于Brush类的核心方法是() A.DrawLine() B.Fill() C.CreateGraphics() D.DrawString() 【答案】B 【解析】Brush类的核心方法是Fill(),用于实现图形的填充操作;A选项DrawLine()是Graphics类的方法;C选项CreateGraphics()是控件的方法,用于获取Graphics对象;D选项DrawString()是Graphics类的方法。 17. C#中,要设置绘图的字体样式,应使用()类 A.Pen B.Brush C.Font D.Graphics 【答案】C 【解析】Font类用于定义绘图时文本的字体样式,包括字体名称、字号、加粗、倾斜等属性;A选项Pen用于绘制线条;B选项Brush用于填充图形;D选项Graphics是绘图核心类。 18. 下列关于Pen类和Brush类的区别,说法正确的是() A.Pen用于填充,Brush用于绘制线条 B.Pen用于绘制线条,Brush用于填充 C.两者功能完全相同 D.两者都不能设置颜色 【答案】B 【解析】Pen类和Brush类功能区分明确:Pen用于绘制图形轮廓(线条),Brush用于填充图形内部;A选项说法颠倒;C选项错误,两者功能不同;D选项错误,两者均可设置颜色(Pen设置线条颜色,Brush设置填充颜色)。 19. 下列方法中,用于获取控件绘图对象的是() A.CreatePen() B.CreateBrush() C.CreateGraphics() D.CreateFont() 【答案】C 【解析】CreateGraphics()是控件的方法,用于获取该控件的Graphics对象,作为绘图的核心对象;A选项CreatePen()用于创建Pen对象;B选项CreateBrush()用于创建Brush对象;D选项CreateFont()用于创建Font对象。 20. C#中,Drawing类相关方法主要用于() A.数据库操作 B.图形绘制 C.文本输入 D.窗体设计 【答案】B 【解析】System.Drawing命名空间下的相关方法(如DrawLine()、FillRectangle()等),核心用途是图形绘制;A选项数据库操作与Drawing类无关;C选项文本输入常用Console类或控件;D选项窗体设计主要依赖Form类及控件。 二、填空题(共10空,每空1分,共10分) 21. C#中,________类是绘制图形的核心类,提供了各种绘图方法。 【答案】Graphics 【解析】Graphics类是C#绘图的核心,所有绘图操作(绘制直线、矩形、文本等)都依赖于该类提供的方法。 22. Pen类主要用于绘制________,可以设置线条的颜色和宽度。 【答案】线条(或图形轮廓) 【解析】Pen类的核心功能是绘制线条或图形轮廓,通过Color属性设置线条颜色,Width属性设置线条宽度。 23. Brush类主要用于________图形的内部区域。 【答案】填充 【解析】Brush类及其子类(如SolidBrush)的核心功能是填充矩形、椭圆等图形的内部区域。 24. C#中,获取Graphics对象的常用方法是调用控件的________方法。 【答案】CreateGraphics() 【解析】在WinForms中,常用控件的CreateGraphics()方法获取该控件的Graphics对象,用于在控件上绘图。 25. Font类用于设置绘图时文本的________、大小和样式。 【答案】字体(或字体名称) 【解析】Font类用于定义文本样式,包括字体名称(如宋体、黑体)、字号大小和加粗、倾斜等样式。 26. Graphics类的________方法用于绘制直线。 【答案】DrawLine() 【解析】Graphics类的DrawLine()方法专门用于绘制直线,需传入Pen对象和直线的起点、终点坐标。 27. SolidBrush是Brush类的子类,用于实现________填充。 【答案】纯色 【解析】SolidBrush用于创建纯色填充画笔,通过构造函数传入Color参数,实现单一颜色的图形填充。 28. C#中,绘制矩形轮廓使用Graphics类的________方法。 【答案】DrawRectangle() 【解析】Graphics类的DrawRectangle()方法用于绘制矩形轮廓,需传入Pen对象和矩形的x坐标、y坐标、宽度、高度。 29. Brush类的方法主要用于实现图形的________操作。 【答案】填充 【解析】Brush类的核心功能是填充图形内部,其方法(如Fill())用于实现各种图形的填充操作。 30. 绘图时,若要在指定位置绘制文本,应使用Graphics类的________方法。 【答案】DrawString() 【解析】Graphics类的DrawString()方法用于在指定位置绘制文本,需传入文本内容、Font对象、Brush对象和文本坐标。 三、判断题(共5题,每题2分,共10分) 31. Graphics类是C#中绘图的核心类,所有绘图操作都依赖于该类。( ) 【答案】√ 【解析】Graphics类提供了所有绘图相关的方法(绘制直线、矩形、文本等),任何绘图操作都必须先获取Graphics对象,因此该说法正确。 32. Pen类和Brush类的功能相同,都可以用于绘制线条和填充图形。( ) 【答案】× 【解析】Pen类用于绘制线条和图形轮廓,Brush类用于填充图形内部,两者功能不同,因此该说法错误。 33. Font类不仅可以设置字体样式,还可以用于绘制图形。( ) 【答案】× 【解析】Font类的唯一功能是设置绘图时文本的字体样式,不能用于绘制图形,绘制图形依赖于Graphics、Pen、Brush类,因此该说法错误。 34. Graphics类的FillRectangle()方法用于填充矩形内部区域。( ) 【答案】√ 【解析】Graphics类的FillRectangle()方法需传入Brush对象,用于填充矩形的内部区域,绘制矩形轮廓用DrawRectangle()方法,因此该说法正确。 35. 要使用Brush类进行填充,必须先创建Brush对象并设置填充颜色。( ) 【答案】√ 【解析】使用Brush类填充图形时,需先创建Brush对象(如SolidBrush),并通过构造函数设置填充颜色,否则无法实现填充效果,因此该说法正确。 四、程序分析题(共1题,每题10分,共10分) 36. 阅读下面的C#程序,分析其功能并写出运行结果(结合绘图相关类及方法)。 using System; using System.Drawing; class Program { static void Main() { // 假设已获取窗体的Graphics对象g Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); Pen pen = new Pen(Color.Red, 2); Brush brush = new SolidBrush(Color.Blue); g.DrawLine(pen, 10, 10, 100, 100); g.FillRectangle(brush, 120, 10, 50, 50); Console.WriteLine("绘图完成"); pen.Dispose(); brush.Dispose(); g.Dispose(); } } 程序运行结果及功能:___________________ 【答案】 程序功能:获取绘图对象,创建红色、宽度为2像素的画笔和蓝色纯色填充画笔,绘制一条从(10,10)到(100,100)的红色直线,填充一个左上角坐标为(120,10)、宽50、高50的蓝色矩形,最后释放相关对象并在控制台输出"绘图完成"。 程序运行结果:控制台输出“绘图完成”,同时在绘图区域显示红色直线和蓝色矩形。 【解析】程序核心是Graphics、Pen、Brush类的综合使用:1. 通过Graphics.FromHwnd()获取绘图对象;2. Pen对象设置线条颜色和宽度,用于绘制直线;3. SolidBrush对象设置填充颜色,用于填充矩形;4. DrawLine()绘制直线,FillRectangle()填充矩形;5. Dispose()方法释放对象资源,避免内存泄漏。 五、写运行结果题(共2题,每题5分,共10分) 37. 分析下面C#程序段的输出结果(结合绘图相关类的用法): using System; using System.Drawing; class Program { static void Main() { Pen pen = new Pen(Color.Green, 3); Console.WriteLine("画笔颜色:" + pen.Color); Console.WriteLine("画笔宽度:" + pen.Width); pen.Dispose(); } } 程序运行结果:___________________ 【答案】 程序运行结果: 画笔颜色:Green 画笔宽度:3 【解析】程序创建了一个颜色为绿色、宽度为3像素的Pen对象,通过pen.Color和pen.Width属性获取画笔的颜色和宽度,并在控制台输出;最后调用Dispose()方法释放Pen对象资源。 38. 分析下面C#程序段的输出结果(结合Graphics类方法): using System; using System.Drawing; class Program { static void Main() { Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); Font font = new Font("宋体", 12); Brush brush = new SolidBrush(Color.Black); g.DrawString("图形操作测试", font, brush, 50, 50); Console.WriteLine("文本绘制完成"); font.Dispose(); brush.Dispose(); g.Dispose(); } } 程序运行结果:___________________ 【答案】 程序运行结果:控制台输出“文本绘制完成”,同时在绘图区域(50,50)位置,以12号宋体、黑色文本绘制“图形操作测试”。 【解析】程序通过Graphics.FromHwnd()获取绘图对象,创建12号宋体的Font对象和黑色SolidBrush对象,调用Graphics类的DrawString()方法在(50,50)坐标绘制指定文本,最后释放所有对象并在控制台输出提示信息。 六、程序改错题(共1题,每题5分,共5分) 39. 下面程序用于绘制一条蓝色直线,但有2处错误,请找出并改正(结合Graphics、Pen类用法): using System; // 缺少必要的命名空间 class Program { static void Main() { Graphics g = null; Pen pen = new Pen(Color.Blue); // 未获取Graphics对象就调用绘图方法 g.DrawLine(pen, 20, 20, 150, 150); Console.WriteLine("直线绘制完成"); pen.Dispose(); g.Dispose(); } } 请找出程序中的错误,并写出正确答案。 【答案】 错误1:缺少System.Drawing命名空间,Graphics、Pen、Color类均属于该命名空间,未引用会导致编译错误; 错误2:Graphics对象g被赋值为null,未获取实际的绘图对象,直接调用g.DrawLine()会引发空引用异常; 正确程序: using System; using System.Drawing; // 补充必要的命名空间 class Program { static void Main() { // 获取绘图对象,避免赋值为null Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); Pen pen = new Pen(Color.Blue); g.DrawLine(pen, 20, 20, 150, 150); Console.WriteLine("直线绘制完成"); pen.Dispose(); g.Dispose(); } } 【解析】1. 绘图相关类(Graphics、Pen等)都在System.Drawing命名空间下,必须添加using System.Drawing;引用;2. Graphics对象是绘图核心,需通过Graphics.FromHwnd()或控件的CreateGraphics()方法获取实际对象,不能赋值为null,否则无法调用绘图方法。 七、程序填空题(共3题,每题5分,共15分) 40. 下面程序用于绘制一个红色矩形轮廓,请填写空白处(结合Graphics、Pen类): using System; using System.Drawing; class Program{ static void Main(){ // 获取Graphics对象 Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); // 创建红色、宽度为2的画笔 Pen pen = new Pen(_____, 2); // 绘制矩形轮廓,参数:画笔、x坐标、y坐标、宽度、高度 g._____(pen, 30, 30, 80, 60); Console.WriteLine("矩形绘制完成"); pen.Dispose(); g.Dispose(); } } 【答案】 第一空:Color.Red 第二空:DrawRectangle 【解析】1. Pen类构造函数需传入颜色参数,绘制红色矩形轮廓,需设置颜色为Color.Red;2. Graphics类绘制矩形轮廓的方法是DrawRectangle(),需传入Pen对象和矩形的坐标、宽高参数。 41. 下面程序用于填充一个黄色椭圆,请填写空白处(结合Graphics、Brush类): using System; using System.Drawing; class Program{ static void Main(){ Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); // 创建黄色纯色画笔 Brush brush = new _____ (Color.Yellow); // 填充椭圆,参数:画笔、x坐标、y坐标、宽度、高度 g._____(brush, 120, 30, 70, 50); Console.WriteLine("椭圆填充完成"); brush.Dispose(); g.Dispose(); } } 【答案】 第一空:SolidBrush 第二空:FillEllipse 【解析】1. 实现黄色纯色填充,需使用Brush类的子类SolidBrush,其构造函数传入填充颜色Color.Yellow;2. Graphics类填充椭圆的方法是FillEllipse(),需传入Brush对象和椭圆的坐标、宽高参数。 42. 下面程序用于在绘图区域绘制文本,请填写空白处(结合Graphics、Font、Brush类): using System; using System.Drawing; class Program { static void Main() { Graphics g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero); // 设置字体:宋体、14号、加粗 Font font = new Font("宋体", 14, _____); // 创建黑色画笔 Brush brush = new SolidBrush(Color.Black); // 绘制文本,参数:文本内容、字体、画笔、x坐标、y坐标 g._____("图形操作练习", font, brush, 60, 100); Console.WriteLine("文本绘制完成"); font.Dispose(); brush.Dispose(); g.Dispose(); } } 【答案】 第一空:FontStyle.Bold 第二空:DrawString 【解析】1. Font类构造函数第三个参数用于设置字体样式,加粗样式为FontStyle.Bold;2. Graphics类绘制文本的方法是DrawString(),需传入文本内容、Font对象、Brush对象和文本坐标参数。 学科网(北京)股份有限公司 $

资源预览图

第70卷 算法与程序设计—图形操作—河北省计算机类—考纲百套卷-第1页
1
第70卷 算法与程序设计—图形操作—河北省计算机类—考纲百套卷-第2页
2
第70卷 算法与程序设计—图形操作—河北省计算机类—考纲百套卷-第3页
3

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。