《绘图及图像处》PPT课件

上传人:san****019 文档编号:22419155 上传时间:2021-05-25 格式:PPT 页数:35 大小:293.50KB
收藏 版权申诉 举报 下载
《绘图及图像处》PPT课件_第1页
第1页 / 共35页
《绘图及图像处》PPT课件_第2页
第2页 / 共35页
《绘图及图像处》PPT课件_第3页
第3页 / 共35页
资源描述:

《《绘图及图像处》PPT课件》由会员分享,可在线阅读,更多相关《《绘图及图像处》PPT课件(35页珍藏版)》请在装配图网上搜索。

1、 第 12章 绘 图 及 图 像 处 理唐 大 仕http:/ 内 容 提 要n GDI+及 其 基 本 类n Graphics对 象 及 绘 图 方 法n 控 件 与 绘 图n 图 像 处 理n 应 用 示 例 1. GDI+及 其 基 本 类 GDI+技 术 简 介n GDI:Graphics Device Interface.n GDI+: GDI的 改 进 , 同 时 也 是 .NET框架 结 构 的 重 要 组 成 部 分 。 和 GDI一 样 它提 供 料 对 二 维 图 形 图 像 和 文 字 排 版 处 理的 支 持 n 参 见 WinGDI目 录 FirstExamplen

2、新 建 一 个 C#WindowsForm程 序n 为 orm添 加 Paint事 件n 添 加 头 文 件n using System.Drawing.Text;n using System.Drawing.Drawing2D;n 在 事 件 中 添 加 如 下 代 码 : n Graphics g = e.Graphics;n Pen pen = new Pen(Color.Red,2);n Brush brush = new SolidBrush(Color.Blue);n Font font = new Font(宋 体 ,25);n Rectangle rect = new Rect

3、angle(20,120,100,160);n g.DrawLine(pen,20,100,100,100);n g.DrawRectangle(pen,rect);n g.DrawString(“GDI+图 形 编 程 ,font,brush,20,20);n brush.Dispose(); n font.Dispose();n pen.Dispose(); .NET框 架 结 构 中 对 GDI的 封 装 .NET 框 架 名 称 空 间 System.Drawing System.Drawing.2D System.Drawing.Imaging System.Drawing.Text

4、 提 供 了 对 GDI+ 基 本 图 形 功 能 的访 问 , 对 于 进 行 一 般 的 图 形 绘 制来 说 是 足 够 了 提 供 高 级 的 二 维和 矢 量 图 形 功 能 提 供 高 级 GDI+ 图 像 处 理 功 能 提 供 高 级 GDI+ 排 版 功 能 , 该 命名 空 间 中 的 类 允 许 用 户 创 建 和 使用 多 种 字 体 坐 标 系 统n GDI+的 坐 标 系 统 (0,0) (X,0) (0,Y) 注 : ( , ) 为 屏 幕 的 分 别 率 System.Drawing中 常 用 的 结 构n Colorn Color封 装 了 对 颜 色 的 定

5、 义 。 该 结 构 中 封 装 了 数 百个 分 别 对 应 与 标 准 调 色 板 色 彩 的 静 态 成 员 。 如Color.Red代 表 红 色 , Color.Purple代 表 紫 色n 有 用 的 静 态 方 法 : n FromArgb:通 过 三 原 色 构 建 Color对 象n FromKnownColor:通 过 已 知 颜 色 构 建 Color对 象n FromName:通 过 颜 色 名 称 来 构 建 Color对 象n 例 如 :n Color temp1 = Color.Black;n Color temp2 = Color.FromArgb(0,0,0)

6、n Color temp3 = Color.FromName(“Black”); n 表 示 绘 制 平 面 上 的 一 个 尺 寸 , 一 个 为 整 数 , 一 个 为浮 点 数n 构 造 函 数n Size sz1 = new Size(10,10)n 属 性 :n Width: 表 示 宽 度 值n Height:表 示 高 度 值n 重 载 了 加 、 减 、 比 较 、 赋 值 操 作 n Size sz2 = sz1;n Size sz3 = sz1 -sz2;n Size sz4 = sz1+sz2;常 用 对 象 : Size和 SizeF n 表 示 绘 制 平 面 上 点

7、 的 坐 标 , 一 个 为 整 数 , 另外 一 个 为 浮 点 数n 构 造 方 法 :n Point pt = new Point(20,20);n Point pt = new Point(new Size(10,10)n 重 载 了 加 、 减 、 比 较 、 赋 值 操 作常 用 对 象 : Point和 PointF Rectangle和 RectangleFn 表 示 绘 制 平 面 上 的 一 个 矩 形 区 域n 属 性n Bottom:矩 形 底 部 的 纵 座 标n Top:矩 形 顶 部 的 纵 座 标 n Left:矩 形 坐 部 的 横 座 标n Right:矩

8、形 右 部 的 横 座 标n Height:矩 形 的 高 度n Width:矩 形 的 宽 度n Size:矩 形 的 尺 寸n IsEmpty:矩 形 是 否 为 空 ( 高 度 和 宽 度 是 否 都 是 )n X: 矩 形 左 上 角 的 横 座 标 n Y: 矩 形 左 上 角 的 纵 座 标 2. Graphics对 象 及 绘 图 方 法 Graphics类n 使 用 GDI+绘 图 , 首 先 要 创 建 Graphics类n Graphics使 用 的 两 种 方 法n 在 OnPaint 事 件 中 使 用Protected override void OnPaint(Pa

9、intEventArgs e) Graphics g = e.Graphics;n 在 其 他 情 况 使 用Graphics g = this.CreateGraphics();Try /作 图 Finally if(g!=null)(IDisposable)g).Dispose(); Graphics对 象 绘 图 方 法n DrawArc:绘 制 圆 弧n DrawBezier:绘 制 贝 塞 尔 曲 线n DrawBeziers:绘 制 贝 塞 尔 曲 线 组n DrawClosedCurve:绘 制 封 闭 曲 线n DrawCurve:绘 制 曲 线n DrawEllipse:绘

10、制 椭 圆 n DrawIcon:绘 制 图 标n DrawIconUnstretched:无 缩 放 绘 制 图 标n DrawImage:绘 制 图 像n DrawImageUnscaled:无 缩 放 绘 制 图 像n DrawLine:绘 制 直 线n DrawLines:绘 制 直 线 组n DrawPath:绘 制 GraphicsPath对 象n DrawPie:绘 制 圆 饼n DrawPolygon:绘 制 多 边 形 n DrawRectangle:绘 制 矩 形n DrawRectangles:绘 制 矩 形 组n DrawString:绘 制 文 本 n Graphic

11、s对 象 绘 制 实 心 图 形 方 法n FillClosedCurve:绘 制 实 心 封 闭 曲 线n FillEllipe:封 闭 实 心 椭 圆n FillPath:GraphicsPath对 象n FillPie:绘 制 实 心 圆 饼n FillPolygon:绘 制 实 心 多 边 形n FillRectangle:绘 制 实 心 矩 形 n FillRectangles:绘 制 实 心 矩 形 组n FillRegion:绘 制 实 心 Region对 象Graphics对 象 绘 图 方 法 画 笔 和 画 刷1. Pen在 System.Drawing名 称 空 间 中用

12、 来 指 定 图 形 的 轮 廓 , 如 颜 色 和 宽 度 等画 笔 创 建Pen pen = new Pen(Color.Blue,5)使 用 Pens类 n 画 笔 的 属 性 :属 性 描 述 取 值Alignment 指 定 相 对 于 理 论 上 、零 宽 度 的 线 条 的 Pen 对 象 的 对 齐 方式 PenAlignment.Center:位 于 所 绘 制 线 条 的 中 央PenAlignment:Insert:位 于 所 绘 制 线 条 的 嵌 入 内 部PenAlignment.Left:位 于 所 绘 制 线 条 的 左 侧PenAlignment.OutSet

13、:位 于 所 绘 制 线 条 的 嵌 入 外 部PenAlignment.Right:位 于 所 绘 制 线 条 的 右 侧DashStyle 绘 制 线 条 的 虚 线 类型 DashStyle.Custom:用 户 自 定 义DashStyle.Dash:线 条 由 线 段 组 成DashStyle.DashDot:线 条 由 线 段 和 点 组 成 DashStyle.DashDotDot:线 条 由 线 段 、 点 和 点 组 成DashStyle.Dot:线 条 由 点 组 成DashStyle.Solid:线 条 由 实 线 组 成StartCapEndCap 绘 制 线 条 的

14、起 点 和终 点 类 型LineCap LAnchorMask指 定 用 于 检 查 线 帽 是 否 为 锚 头 帽 的 掩 码 。ArrowAnchor指 定 箭 头 状 锚 头 帽 。 Custom指 定 自 定 义 线帽 。 DiamondAnchor指 定 菱 形 锚 头 帽 。 Flat指 定 平 线 帽 。NoAnchor指 定 没 有 锚 。 Round指 定 圆 线 帽 。RoundAnchor指 定 圆 锚 头 帽 。 Square指 定 方 线 帽 。SquareAnchor指 定 方 锚 头 帽 。 Triangle指 定 三 角 线 帽 。 Brushn Brush对

15、象 是 一 个 抽 象 类 , 不 能 被 直 接 使 用 。它 有 个 派 生 类 , 分 别 实 行 不 同 类 型 的 画 刷 。n 画 刷 类 型 :n SolidBrush:实 心 画 刷 ( 最 简 单 )n HatchBrush:带 阴 影 线 的 画 刷 n LinearGradientBrush:填 充 颜 色 线 性 渐 变 的 画 刷n PathGradientBrush:填 充 颜 色 沿 路 径 渐 变 的 画 刷n TextureBrush:使 用 图 像 进 行 填 充 的 画 刷n 使 用 Brushes类 绘 制 文 本1. Font类 回 顾n FontFa

16、miliy:字 体 家 族 , 如 Times New Roman、 宋 体 等n 字 体 大 小 :float类 型n 字 体 风 格w Bold:粗 体w Italic: 斜 体 w Regular:正 规w Strikeout: 加 删 除 线w Underline: 加 下 划 线n 例 如 :Font myFont = new Font(“宋 体 ” ,16,FontStyle.Bold|FontStyle.Italic);以 上 代 码 创 建 了 宋 体 家 族 的 字 体 对 象 , 字 体 大 小 为 , 样 式 为 粗 斜体 。 DrawString的 使 用 方 法n D

17、rawString(string,Font,Brush,PointF);n DrawString(string,Font,Brush,RectangleF);n DrawString(string,Font,Brush,PointF,StringFormat);n DrawString(string,Font,Brush,RectangleF,StringFormat);n DrawString(string,Font,Brush,float,float);n DrawString(string,Font,Brush,float,float,StringFormat); 绘 制 图 形1. 直

18、 线 的 绘 制n DrawLine 3. 控 件 与 绘 图 处 理 重 绘 和 无 效 操 作n 调 用 以 下 几 个 方 法n void Invalidate();n void Invalidate( Rectangle ) ;n void Update();n void Refresh(); 双 缓 冲 技 术n 1、 在 内 存 中 建 立 一 块 “ 虚 拟 画 布 ” :n Bitmap bmp = new Bitmap(600, 600);n 2、 获 取 这 块 内 存 画 布 的 Graphics引 用 :n Graphics g = Graphics.FromImage

19、(bmp);n 3、 在 这 块 内 存 画 布 上 绘 图 : n g.FillEllipse(brush, i * 10, j * 10, 10, 10);n 4、 将 内 存 画 布 画 到 窗 口 中n this.CreateGraphics().DrawImage(bmp, 0, 0); 控 件 的 DoubleBuffered属 性n 在 V 2008中 有 4. 图 像 处 理 GDI+中 的 图 像 处 理n GDI+中 对 图 像 处 理 提 供 了 以 下 支 持 :n 支 持 BMP、 GIF、 JPEG、 PNG、 TIFF、 ICON等 等 广泛 格 式 的 图 像

20、文 件n 提 供 了 用 于 多 种 光 栅 图 像 格 式 进 行 编 码 和 解 码 的 公共 接 口n 支 持 为 图 像 格 式 添 加 动 态 格 式 n 支 持 对 图 像 的 像 素 进 行 多 种 处 理 , 包 括 亮 度 、 对 比度 、 颜 色 平 衡 、 模 糊 、 消 弱 等n 支 持 对 图 像 进 行 旋 转 、 剪 切 等 操 作n 主 要 通 过 Image(抽 象 类 )实 现 Bitmap类n 从 Image派 生n 可 以 处 理 BMP、 Jpeg、 GIF、 PNG等 格 式n 构 建n Bitmap bt1 = new Bitmap(“c:1.bm

21、p”);n Bitmap bt2 = new Bitmap(bt1,200,300); n Bitmap bt3;bt3.FromFile(“文 件 名 称 ” ); 常 见 的 处 理 方 法n 整 个 图 像 的 处 理n DrawImagen 示 例 ThumbnailTest.csn 针 对 图 像 像 素 的 处 理 Paint.NETn http:/www.eecs.wsu.edu/ 5. 应 用 示 例n Splattern DrawRunningCurven ScreenSavern GravityBall 关 于 Transformn myGraphics.DrawEllip

22、se(myPen, 0, 0, 100, 50); n myGraphics.ScaleTransform(1, 0.5f); myGraphics.TranslateTransform(50, 0, MatrixOrder.Append); myGraphics.RotateTransform(30, MatrixOrder.Append);n myGraphics.DrawEllipse(myPen, 0, 0, 100, 50); n myGraphics.Transfrom 是 一 个 Matrix 关 于 Path、 关 于 渐 变 Brush 图 像 的 处 理n 图 像 文 件 bmp的 格 式n 使 用 Lock及 指 针n 几 个 例 子n http:/ 问 题 与 讨 论

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!