第13章 二维图形图像处理.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 二维图形图像处理

13.3.2 图像的编码和解码 图像格式编码 图像编码是指将图像数据转换为特定图像格式的过程。 例13-11:演示TIFF图像编码以及保存图像的基本用法。运行效果如图所示。 * 13.3.2 图像的编码和解码 图像格式解码 图像格式解码是指将某种图像格式转换为可以由系统使用的图像数据。解码后,即可以对其进行显示、处理或编码为其他格式。 例13-12:演示图像解码以及获取原始图像信息的基本用法。运行效果如图所示。 * 13.3.3 像素格式转换(FormatConvertedBitmap) FormatConvertedBitmap类为BitmapSource提供像素格式转换的功能。 例13-13:演示如何将彩色图像转换为灰度图和黑白图。运行效果如图所示。 * 13.3.4 旋转裁切和缩放图像 TransformedBitmap旋转图像,Image或者CroppedBitmap裁切图像,ScaleTransform缩放图像。 旋转图像:位图图像仅支持90度增量的旋转,即只能选择以下旋转角度之一:0、90、180、270。如果希望让图像旋转任意角度,应该用画笔变换来实现。 裁切图像:如果只想调整图像的一部分,可以用Image或者CroppedBitmap的Clip属性实现;如果需要编码和保存裁切过的图像,应该用CroppedBitmap来实现。 缩放图像:利用TransformedBitmap可缩放图像。也可以用画笔缩放实现。 * 13.3.4 旋转裁切和缩放图像 例13-14:演示旋转、裁切和缩放图像并将处理结果保存到新的图像文件中的基本用法。运行效果如图所示。 * 13.3.5 自动播放和逐帧绘制GIF动画 GIF和TIFF都可以包含多帧图像,将GIF包含的多帧图像逐帧显示出来。其意义在于:既然可以将每一帧都单独读出来,当然也能对每一帧的图分别进行处理。 例13-15:利用GifBitmapDecoder解码器,将所有图像逐帧显示出来。运行效果如图所示。 * 13.3.6 其他基本的图像处理技术 将图像作为缩略图加载 将图像作为缩略图加载时,可利用BitmapImage的DecodePixelWidth属性设置缩略图的大小,这样可以减少加载图像所需的内存。 将一种图像格式转换为另一种图像格式 如果希望将一种图像格式转换为另一种图像格式,只需要先从解码器中获取图像信息,然后用编码器设置相应的帧并保存图像信息即可。 * 13.3.6 其他基本的图像处理技术 图像处理的一般原则 应始终将图像解码为所需的大小而不是图像的原始大小。 如有可能,应尽可能将多个图像组合成多帧图像再加载,而不是分别加载和显示单个文件。 * 13.4 利用画笔绘制图形图像——TileBrush类 基本组件 TileBrush类包括三个主要的组件:内容、图块和输出区域。 内容 如果画笔为ImageBrush,则表示“内容”为图像。此时用ImageSource属性指定ImageBrush的内容。 如果画笔为DrawingBrush,则表示“内容”为绘图。此时用Drawing属性指定DrawingBrush的内容。 如果画笔为VisualBrush,则表示“内容”为可视元素。此时用Visual属性指定VisualBrush的内容。 * TileBrush类 图块 图块是用“内容”构造出来的基本块。TileBrush提供了一个Stretch属性,该属性用Stretch枚举指定如何用“内容”来构造图块。 输出区域 输出区域指如何用“图块”填充目标区域。TileBrush提供了一个TileMode属性,该属性用TileMode指定如何填充目标区域,包括平铺、水平反转、垂直翻转等。 * TileBrush类 拉伸图块(Stretch) 从TileBrush继承的画笔类型都可以用Stretch属性控制如何拉伸“图块”。该属性用Stretch枚举来表示,可用的枚举值有: None:图块保持其原始大小。 Fill:调整图块的大小以填充目标尺寸,不保留纵横比。 Uniform:在保留图块原有纵横比的同时调整图块的大小,以适合目标尺寸。 UniformToFill:在保留图块原有纵横比的同时调整图块的大小,以填充目标尺寸。如果目标矩形的纵横比与图块的纵横比不相同,则对图块进行剪裁(将目标矩形尺寸以外的部分裁剪掉)以适合目标矩形的大小。 * TileBrush类 例13-16:演示用图像画笔拉伸图像的基本用法。运行效果如图所示。 * TileBrush类 平铺方式(TileMode) 从TileBrush继承的画笔类型都可以用TileMode属性控制如何用“图块”填充“输出区域”。TileMode属性用TileMode枚举来定义,可用的枚举值有: N

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档