Android图形图像处理技术

更新时间:2024-01-03 作者:用户投稿原创标记本站原创 点赞:3036 浏览:8584

摘 要:介绍了Android图形图像处理的相关技术,包括2D图像、图形特效以及动画等技术.在阐述2D图像的绘制时,主要介绍了如何绘制几何图形、文本、路径和图片等技术.在分析动画技术时,重点分析了补间动画.

关 键 词:Android;二维图像;图形特效;动画

中图分类号:TP301文献标识码:A文章编号:1009-3044(2014)08-1800-02

1概述

随着移动设备的不断普及与发展,相关的软件开发技术也越来越受到人们所重视.2007年Google正式发布Android平台以来,短短几年内Android成为全球最受欢迎的移动智能终端平台.图形图像处理技术在Andriod中非常重要,特别是在开发益智类游戏或者2D游戏时,都离不开图形图像处理技术的支持.

2常用绘图类

在Android中,绘制图像时最常用的是paint、Canvas、Bitmap和BitmapFactory类.

1)paint类表示画笔.用来描述图形的颜色和风格,如线宽、颜色、透明度和填充效果等信息.使用paint类时,首先需要创建该类的对象.然后通过该对象调用相关常用方法改变画笔的设置.例如可以改变画笔的颜色、笔触宽度等.

2)Canvas类表示画布.通过该类提供的方法可以绘制各种图形(如矩形、圆形和线条等通常情况下,要在Android中绘图,需要先创建一个继承View类的视图,并且在该类中重写onDraw(Canvascanvas)方法,然后在显示绘图的Activity中添加该视图.

3)Bitmap类表示位图.使用该类不仅可以获取获取图像文件信息,对图像进行剪裁、旋转、缩放等操作,而且还可以指定格式保存图形文件.

4)BitmapFactory类是一个工具类.用于从不同的数据源来解析、创建Bitmap对象.

3二维图像绘制

Android提供了非常强大的二位图形库,用于绘制2D图像.比较常用的是绘制几何图形、文本、路径和图片.

1)绘制几何图形.常见的几何图形包括点、线、弧、圆形、矩形等.在Android中,Canvas类提供了丰富的绘制几何图形的方法,通过这些方法,可以绘制出各种集合图形.

2)绘制文本.在Android中可以通过TextView或图片显示文本.但是在开发RPG类游戏时,会包含很多文字,Canvas类提供了绘制文本的方法,主要由drawText()和drawPosText()方法.

3)绘制路径.绘制一条路径可以分为创建路径和将定义好的路径绘制在画笔上两部分.要创建路径可以使用android.graphics.Path类来实现.Path类包含一组矢量绘图方法.如画圆、矩形、弧、线条等.而要将定义好的路径绘制在画布上,可以使用Canvas类提供的drawPath()方法.

4)绘制图片.绘制图片可以使用Canvas类提供的方法drawBitmap()将Bitmap对象中保存的图片绘制到画布上即可.

4图形特效

在Android中,不仅可以绘制图形,还可以为图形添加特效.如对图形进行旋转、缩放、倾斜、平移和渲染等.

4.1图像旋转、缩放、倾斜和平移

Android提供的Android.graphics.Matrix类的setRotate()、postRotate()、preRotate()方法可以实现对图像进行旋转.这三个方法除了方法名不同外,语法格式等均相同.创建Matrix的对象并对其进行旋转后,还需要应用该Matrix对图像或组件进行控制.在Canvas列中提供了一个drawBitmap()方法,可以在绘制图形的同时应用Matrix上的变化.对图像的缩放、倾斜和平移技术和旋转类似,只是使用的方法不同.如表1所示.

4.2图像渲染

在Android中,提供的BitmapShader类主要用来渲染图像.比如可以将一张图片裁剪成椭圆形或圆形等形状并显示到屏幕上.使用BitmapShader来渲染图像的基本步骤如下:

1)创建BitmapShader类对象.

2)通过Paint的setShader()方法来设置渲染对象.

3)在绘制图像时,使用已经设置了setShader渲染图像.

5动画

Android中动画通常可以分为逐帧动画、补间动画和属性动画三种.下面分别介绍这三种动画的技术.

5.1逐帧动画(DrawableAnimation)

逐帧动画就是顺序播放事先准备好的静态图像,利用人眼的“视觉暂留”原理,给用户造成动画错觉.实现逐帧动画主要步骤:(1)在AndroidXML资源文件中定义一组用于生成动画的图片资源,必须以为根元素,以表示要轮换显示的图片,duration属性表示各项显示的时间.XML文件要放在/res/drawable/目录下.(2)使用定义的动画资源,通常情况下,可以将其作为组件的背景使用.


5.2补间动画(ViewAnimation)

补间动画主要是通过对场景里的对象不断进行图像变化来产生动画效果.在实现补间动画时,只需要定义动画开始和结束的关键帧,其它过渡帧由系统自动计算并补齐.Viewanimation只能应用与View对象,而且只支持其一部分属性.在Android中,提供了4种补间动画:1)透明度渐变动画(AlphaAnimation):通过View组件透明度的变化来实现View的渐隐渐显效果.它主要通过为动画指定开始时的透明度、结束时的透明度以及持续时间来创建动画.2)旋转动画(RotateAnimation):通过为动画指定开始时、结束时的旋转角度以及持续时间来创建动画.在旋转时,还可以通过指定抽心点来改变旋转的中心.3)缩放动画(ScaleAnimation):通过为动画指定开始时的缩放系数、结束时的缩放系数以及持续时间来创建动画.在缩放时,还可以通过指定轴心点坐标来改变缩放的中心.4)平移动画(TranslateAnimation):通过为动画指定开始时的位置、结束是的位置以及持续时间来创建动画.

5.3属性动画(PropertyAnimation)

在ViewAnimation中,改变的是View的绘制效果.真正的View的属性保持不变,而在PropertyAnimation中,改变的是对象的实际属性.PropertyAnimation不止可以应用于View,还可以应用与任何对象.PropertyAnimation只是表示一个值在一段时间的改变,当值改变时产生的行为由个人决定.

6结束语

Android图形图像处理技术是从移动媒体图形图像技术发展出来的技术之一.随着Android平台越来越普及.梳理和综述Android平台的图形图像处理技术,有利于我们对Android平台的深入了解.