第6章图形与图像处理.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:28 大小:3.4MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

第6章图形与图像处理.ppt

第6章图形与图像处理.ppt

预览

免费试读已结束,剩余 18 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

本章知识结构图简单图形图像示例简单图形图像简单图形图像简单图形图像Drawable对象Bitmap用于表示一张位图,BitmapDrawable用于封装Bitmap对象。Bitmap对象包装成BitmapDrawable对象BitmapDrawablebd=newBitmapDrawable(Bitmapbitmap);根据BitmapDrawable对象获取Bitmap对象Bitmapbitmap=bd.getBitmap();Bitmap类常用方法BitmapFactory是一个工具类,该类所有的方法都是静态方法,定义了一些从不同的数据源来解析、创建Bitmap对象的方法,如资源ID、文件路径、文件和数据流等方式。ShapeDrawable自定义形状ShapeDrawable自定义形状ShapeDrawable自定义形状StateListDrawable随状态变化的图片逐帧动画的原理是利用人的视觉的滞后性,在时间轴的每帧上绘制不同的内容,然后在足够短的时间内进行播放,给人的感觉就如同连续的动画。Android中通过AnimationDrawable类封装逐帧动画,该类中提供了一个关键方法addFrame(Drawableframe,intduration)用于添加一个关键帧。该方法传递两个参数:第一个参数为图片,表示这一帧所显示的内容;第二个参数为这一帧所持续的时间,单位为毫秒。只需多次调用该方法即可在多张图片间切换,每张图片持续的时间足够短,即可达到动画效果。创建逐帧动画的一般方法:先在程序中存放逐帧动画的素材,然后在res文件夹下创建一个anim文件夹,再在该文件夹下创建一个XML文档,对应的根元素为<animation-list…/>,在根元素下可添加<item…/>标签,一个<item…/>标签表示一帧,在<item…/>标签内包含两个属性:一个是android:drawable用于指定需要显示的图片;另一个是android:duration用于指定该图片持续的时间,单位为毫秒。实现下图所示功能效果。界面中包含一个ImageView和两个Button,整体采用垂直线性布局嵌套水平线性布局。图片显示控件ImageView添加了背景图片和逐帧动画,按钮控件添加了背景,背景是随状态变化的图片,每一种状态所对应的图片又是通过XML文件自定义的形状,有边框和渐变效果。除了可以使用程序中的图片资源外,Android应用还可以自行绘制图形,也可以在运行时动态地生成图片,前面我们所讲的自定义控件就用到了自定义绘图。方法方法Android中提供了Shader类专门用来渲染图像以及一些几何图形,Shader本身是一个抽象类,它包括以下几个常见子类:BitmapShader、ComposeShader、LinearGradient、RadialGradient和SweepGradient。BitmapShader主要用来渲染图像LinearGradient用来进行线性渲染RadialGradient用来进行环形渲染SweepGradient用来进行梯度渲染ComposeShader则是一个混合渲染,可以和其他几个子类组合起来使用。Shader类的使用需先创建一个Shader对象(通过子类的构造方法),然后通过Paint的setShader(Shadershader)方法设置渲染对象即可。Shader类的子类PathPathEffect实现右图所示功能效果。主要功能有:(1)采用三种方式(空心画笔、实心画笔、设置了渲染效果的实心画笔)依次绘制圆、椭圆、矩形、圆角矩形和三角形。(2)在三列图形右侧对应位置绘制相应字符串,添加文字说明。(3)绘制添加了不同路径效果的三角形。(4)动态绘制路径。综合示例测试题测试题