收藏 分享(赏)

基于C#的Windows应用程序设计项目教程第7章.ppt

上传人:yjrm16270 文档编号:9132300 上传时间:2019-07-25 格式:PPT 页数:24 大小:1.81MB
下载 相关 举报
基于C#的Windows应用程序设计项目教程第7章.ppt_第1页
第1页 / 共24页
基于C#的Windows应用程序设计项目教程第7章.ppt_第2页
第2页 / 共24页
基于C#的Windows应用程序设计项目教程第7章.ppt_第3页
第3页 / 共24页
基于C#的Windows应用程序设计项目教程第7章.ppt_第4页
第4页 / 共24页
基于C#的Windows应用程序设计项目教程第7章.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、技能目标: 了解GDI+的基本原理 掌握Pen类、Brush类的用法 掌握Graphics类的用法,能使用Graphics绘制各种基本图形 掌握“简单画图板”程序功能的实现方法 能结合鼠标事件,控制图形的绘制 熟练掌握如何执行绘制形状、绘制文本或显示图像等任务,第四部分 图形图像处理 第七章 简单画图板程序设计,1,图形图像处理是软件技术当中的重要内容。Windows操作系统的图形界面就是建立在图形绘制基础之上。 常用的图像制作与处理软件有Photoshop、Fireworks、金山画笔、Windows自带的画图等,图片浏览软件常用的有ACDSee、Windows图片查看器、Microsoft

2、 Office Picture Manager等;常用的抓图软件有HyperSnap、HyperCam等,如图 71所示,就是一个Windows自带的“画图”软件。,教学情景导入,2,情景描述制作简易画图板,3,界面总体设计 菜单设计,实战引导一步步完成简易画图板,4,界面总体设计 状态栏,实战引导一步步完成简易画图板,5,界面总体设计 总体布局,实战引导一步步完成简易画图板,6,创建自定义控件 创建“工具箱”自定义控件,实战引导一步步完成简易画图板,7,创建自定义控件 创建“绘图设置”自定义控件,实战引导一步步完成简易画图板,8,创建自定义控件 创建“调色板”自定义控件,实战引导一步步完成简

3、易画图板,9,实现“文件”菜单功能 定义窗体级变量private Graphics g; /主要绘图对象private Graphics gp;/辅助绘图对象 private string filePath; /保存文件的默认路径 private Bitmap bmp; /pictureBox1.Image,当前操作的图片,实战引导一步步完成简易画图板,10,实现“文件”菜单功能 实现“新建”菜单项 该菜单项的功能主要是实现初始化,如设置初始画布大小,画布清空,创建绘图和辅助绘图对象等。 实现“打开”菜单项 使用“打开文件”对话框,打开一幅图片并加载到画布上,创建绘图对象,设置状态栏信息。 实

4、现“另存为”菜单项 使用“保存文件”对话框保存图片,设置状态栏信息。,实战引导一步步完成简易画图板,11,实现“文件”菜单功能 实现“保存”菜单项 如果已经保存过文件,文件名不为空,直接保存即可,否则调用“另存为”的相应事件。 实现“退出”菜单项 直接退出程序。这里的处理较简单,可以加上一些是否保存的判断功能,具体可以参考第4章记事本的“退出”菜单项功能。 在Form1的Load事件中作初始化 初始化窗体,包括得到使画布得到焦点等信息。,实战引导一步步完成简易画图板,12,实现绘图工具的功能 实现铅笔工具和直线工具以及橡皮擦功能 在实现绘图功能之前,先在Form1类代码里面添加一些窗体级变量以

5、及一个辅助性的方法UpdateDrawSettings。该方法用来获取DrawSettings控件以及Pallette控件中的设置,然后配置当前绘图所使用的CurrentPen和CurrentBrush。 然后使用pictureBox1的鼠标事件进行绘图处理。实现铅笔工具、橡皮工具和直线工具的代码如下,主要是通过MouseDown、MouseMove和MouseUp事件来识别当前鼠标的状态,并做出相应的动作。,实战引导一步步完成简易画图板,13,实现绘图工具的功能 实现矩形、实心矩形和带轮廓线的矩形的绘制 在实现其它绘图工具的功能时,主要考虑在鼠标的MouseMove事件中是使用g对象在pic

6、tureBox1.Image上绘图,还是使用gp在pictureBox1上绘图。下面给出的是有关矩形的各样式的实现的部分代码,该部分代码和前面的铅笔、橡皮和直线工具的代码都是属于pictureBox1_MouseMove事件的代码,只是属于不同case选项。,实战引导一步步完成简易画图板,14,1、GDI+概述 GDI+是GDI(即Windows早期版本中附带的GraphicsDeviceInterface)的后继者,它是一种构成WindowsXP操作系统的子系统的应用程序编程接口(API)。GDI+的托管类接口包含大约60个类、50个枚举和8个结构。,核心技能,15,2、 Graphics类

7、 Graphics类是GDI+的核心,Graphics提供将对象绘制到显示设备的方法。Graphics可以与特定设备的上下文相关联,是用于创建图形的对象。它封装了绘制直线、曲线、图形、图像和文本的方法,是GDI+实现绘制直线、曲线、图形、图像和文本的类,是GDI+操作的基础类。,核心技能,16,3、向量图形概述,核心技能,17,4、绘制图形 笔、直线 myGraphics.DrawLine(myPen, 4, 2, 12, 6); 绘制矩形 myGraphics.DrawRectangle(myPen, 100, 50, 80, 40); 绘制椭圆 myGraphics.DrawEllipse

8、(myPen, 100, 50, 80, 40);,核心技能,18,4、绘制图形 绘制弧线 myGraphics.DrawArc(myPen, 100, 50, 140, 70, 30, 180); 多边形 Point myPointArray = new Point(0, 0), new Point(50, 30), new Point(30, 60) ;myGraphics.DrawPolygon(myPen, myPointArray); 基数样条 myGraphics.DrawCurve(myPen, myPointArray, 1.5F);,核心技能,19,4、绘制图形 贝塞尔样条

9、myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10); 在指定位置绘制文本 using (Font font1 = new Font(“Times New Roman“, 24, FontStyle.Bold, GraphicsUnit.Pixel)PointF pointF1 = new PointF(30, 10);e.Graphics.DrawString(“Hello“, font1, Brushes.Blue, pointF1);,核心技能,20,5、图形路径 下面的示例绘制了由直线、椭圆和贝塞尔样条组成的路径: m

10、yGraphicsPath.AddLine(0, 0, 30, 20); myGraphicsPath.AddEllipse(20, 20, 20, 40); myGraphicsPath.AddBezier(30, 60, 70, 60, 50, 30, 100, 10); myGraphics.DrawPath(myPen, myGraphicsPath);,核心技能,21,6、画笔和实心形状 实心画笔阴影画笔纹理画笔渐变画笔,核心技能,22,【实训目的】 完善“画图”程序功能,实现椭圆的绘制、贝赛尔曲线绘制,以及实现支持文本输入的功能。 【任务描述】 1、实现椭圆的绘制 2、实现贝赛尔曲线绘制 3、实现文本工具,拓展实训 7,23,【任务描述】 在实际应用中,用图形来表示数据往往更加形象。图 735是一个折线图,根据表 7.5 中的数据,表示某产品的每月销量。 在练习中,可以使用十二个TextBox控件来接受十二个月份的销量数据,然后再查看图形的变化。,课后练习 7,24,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报