android游戏开发基础(绘图类)

Canvas类:

Canvas类代表画布,通过该类使用的方法,可以绘制各种图形(如矩形、圆形、线形)通常情况下,在Android中绘制图形需要先创建继承自View的类的视图,并且在该类中重写其OnDraw(Canvascanvas)方法,然后在绘制的Activity中添加该视图。下面将通过一个具体的实例说明如何用于绘图的画布。

PublicclassDrawviewextendsView{

PublicDrawView(Contextcontext,AttributeSetattrs){

Super(context,attr);

}

PubicvoidonDraw(Canvascanvas){

Super.onDraw(canvas);

}

}

在重写的onDraw方法中,可以编写绘图代码,参数canvas就是要进行绘图的画布

Bitmap类代表位图,是android系统中图像处理的一个重要的类,使用该类,不仅可以获取图像文件信息进行图像切换旋转缩放操作,而且还可以指定格式保存文件。对于这些操作都可以用Bitmap提供的方法实现

android:绘图

View:组件,理解为画布

Drawable:所有可见对象的描述,理解为:素材类

Bitmap:图片类

Canvas:画笔

Paint:画笔样式与颜色、特效的集合

对于AndroidUI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的有关OpenGLES相关的可能将放到以后再透露。本次主要涉及以下四个包的相关内容:

android.content.res资源类

android.graphics底层图形类

android.view显示类

android.widget控件类

一、android.content.res.Resources

对于Android平台资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Containsclassesforaccessingapplicationresources,suchasrawassetfiles,colors,drawables,mediaorotherotherfilesinthepackage,plusimportantdeviceconfigurationdetails(orientation,inputtypes,etc.)thataffecthowtheapplicationmaybehave.平时用到的二进制源文件raw、颜色colors、图形drawables和多媒体文件media的相关资源均通过该类来管理。

intgetColor(intid)对应res/values/colors.xml

DrawablegetDrawable(intid)对应res/drawable/

XmlResourceParsergetLayout(intid)对应res/layout/

StringgetString(intid)和CharSequencegetText(intid)对应res/values/strings.xml

InputStreamopenRawResource(intid)对应res/raw/

voidparseBundleExtra(StringtagName,AttributeSetattrs,BundleoutBundle)对应res/xml/

String[]getStringArray(intid)res/values/arrays.xml

floatgetDimension(intid)res/values/dimens.xml

二、android.graphics.Bitmap

作为位图操作类,Bitmap提供了很多实用的方法,常用的我们总结如下:

booleancompress(Bitmap.CompressFormatformat,intquality,OutputStreamstream)压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG

voidcopyPixelsFromBuffer(Buffersrc)从一个Buffer缓冲区复制位图像素

voidcopyPixelsToBuffer(Bufferdst)将当前位图像素内容复制到一个Buffer缓冲区

我们看到创建位图对象createBitmap包含了6种方法在目前的Android2.1SDK中,当然他们使用的是APILevel均为1,所以说从Android1.0SDK开始就支持了,所以大家可以放心使用。

staticBitmapcreateBitmap(Bitmapsrc)

staticBitmapcreateBitmap(int[]colors,intwidth,intheight,Bitmap.Configconfig)

离开之后,我想你不要忘记一件事:不要忘记想念我。

android游戏开发基础(绘图类)

相关文章:

你感兴趣的文章:

标签云: