第8章 图形与图像处理-【千锋教育】Android从入门到精通

2023-03-21
| 43页
| 131人阅读
| 0人下载
教辅

内容正文:

第8章 图形与图像处理 使用简单图片 绘图 图形特效处理 逐帧动画 补间动画 属性动画 使用SurfaceView实现动画 掌握使用Bitmp与BitmapFactory处理图片 掌握SurfaceView的绘图机制 掌握自定义绘图和图形的特效处理 掌握三种动画的使用 学 习 目 标 LEARNING OBJECTIVES 初心至善 匠心育人 8.1 使用简单图片 目录 Contents 初心至善 匠心育人 8.1 使用简单图片 在实际开发中应用到的图片不仅仅包括.png、.gif、.png、.jpg和各种Drawable系对象,还包括位图Bitmap,而且对图片的处理也是一个影响程序的高效性和健壮性的重要因素。在第8章已经讲解过Drawable资源,下面讲解与之相关的两个类——Bitmap与BitmapFactory Bitmap代表一张位图,扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。例如,一幅1024×768分辨率的32位真彩图片,其所占存储字节数为:1024×768×32/8=3072KB,虽然位图文件图像效果很好,但是非压缩格式的,需要占用较大存储空间,更不利于网络传输。利用Bitmap可以获取图像文件信息,借助Matrix进行图像剪切、旋转、缩放等操作,再以指定格式保存图像文件。 初心至善 匠心育人 8.1 使用简单图片 通常构造一个类的对象时,都是使用该类的构造方法实现。而Bitmap采用的是工厂设计模式而设计,所以创建Bitmap时一般不调用其构造方法,可通过如下两种方式构建Bitmap对象。 1. 通过Bitmap的静态方法static Bitmap createBitmap() 初心至善 匠心育人 8.1 使用简单图片 2. 通过BitmapFactory工厂类的static Bitmap decodeXxx() BitmapFactory是一个工具类,它用于提供大量的方法,这些方法可用于从不同的数据源来解析、创建Bitmap对象,BitmapFactory包含如表所示的常用方法。 在实际开发中,创建Bitmap对象时需考虑内存溢出(OutOfMemory,OOM)的问题,当上一个创建的Bitmap对象还没被回收而又创建下一个Bitmap对象时就会出现该问题。 初心至善 匠心育人 8.1 使用简单图片 为此Android提供了如下两个方法来判断Bitmap对象是否被回收,若没有则强制回收。 boolean isRecycled():判断该Bitmap对象是否已被回收。 void recycle():若Bitmap对象没有回收则强制回收。 初心至善 匠心育人 8.2 绘图 8.2.1 Android绘图基础;Canvas、Paint等 8.2.2 Path类 目录 Contents 初心至善 匠心育人 8.2 绘图 在第2章介绍Android应用的界面编程中,已经介绍了自定义UI组件的过程以及常用的继承方法。之所以需要自定义UI组件,是因为系统提供的原生组件并不能满足实际开发的需求。本节内容同理,绘图也是为了满足实际开发的需求。下面来讲解绘图时常用的几个类。 初心至善 匠心育人 8.2 绘图 8.2.1 Android绘图基础:Canvas、Paint等 在第2章讲解自定义UI组件时已经提醒过大家,在Android应用开发的面试题中甚至实际开发中,自定义View的三个方法都是被考查的关键,这三个方法分别是onMeasure()、onLayout()和onDraw()。 其中重写onDraw()方法时将用到Canvas类,Canvas单词本身有“油画布”的含义。Android通过Canvas类暴露了很多drawXXX方法,开发者可以通过这些方法绘制各种各样的图形。Canvas绘图有三个基本要素:Canvas、绘图坐标系以及Paint。Canvas是画布,通过Canvas的各种drawXxx方法将图形绘制到Canvas上面,在drawXxx方法中需要传入要绘制的图形的坐标形状,还要传入一个画笔Paint。drawXxx方法以及传入其中的坐标决定了要绘制的图形的形状,比如drawCircle方法,用来绘制圆形,需要传入圆心的x和y坐标,以及圆的半径。 初心至善 匠心育人 8.2 绘图 8.2.1 Android绘图基础:Canvas、Paint等 drawXxx方法中传入的画笔Paint决定了绘制的图形的一些外观,比如绘制的图形的颜色,再比如绘制的是圆面还是圆的轮廓线等。 Android系统的设计吸收了很多现有系统的诸多优秀之处,比如Canvas绘图。Canvas不是Andro

资源预览图

第8章 图形与图像处理-【千锋教育】Android从入门到精通
1
第8章 图形与图像处理-【千锋教育】Android从入门到精通
2
第8章 图形与图像处理-【千锋教育】Android从入门到精通
3
第8章 图形与图像处理-【千锋教育】Android从入门到精通
4
第8章 图形与图像处理-【千锋教育】Android从入门到精通
5
第8章 图形与图像处理-【千锋教育】Android从入门到精通
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。