当前位置: > 科技>正文

Android监听图形绘制(android基于监听的事件处理)

2024-08-19 13:31:40 互联网 科技

本篇目录:

1、Android图形渲染原理上2、android绘图之Paint(1)3、Android绘图基础--Canvas和Drawable

Android图形渲染原理上

1、CPU负责计算需要渲染的数据,把计算好的数据交给GPU,GPU会对图形数据进行渲染,渲染好后放到buffer(图像缓冲区)里存起来,然后Display(屏幕或显示器)负责把buffer里的数据呈现到屏幕上。

2、:于 alpha、transform 之类的属性是如何实现的,这个说简单也不简单,说复杂也不复杂,实际上很多 2D 图形渲染库都能很轻易实现这些。

Android监听图形绘制(android基于监听的事件处理)  第1张

3、让我继续介绍一下,在硬件渲染中native层的核心对象。 如下是一个思维导图: 有这么一个大体印象后,就不容易迷失在源码中。

android绘图之Paint(1)

1、通过修改Paint对象,可以在绘图的时候控制颜色、样式、字体和特殊效果。

2、paint.setPathEffect ( new DashPathEffect ( new float [ ] { 3, 2 }, 0 ) ) ;最后这句是设置虚线效果,里边的float数组的意思是:先画长度为3的实线,再间隔长度为2的空白,之后一直重复这个单元。

3、将文本沿X轴水平缩放,默认值为1,当值大于1会沿X轴水平放大文本,当值小于1会沿X轴水平缩放文本 setTextSize (float textSize)设置文字的大小,但是要注意该值必需大于零。

Android监听图形绘制(android基于监听的事件处理)  第2张

4、bitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), Bitmap.Config.ARGB_8888);这行代码只是创建了一个空的bitmap 上面是空白的。

5、SurfaceView是Android为我们提供的专门用来绘图的一个类,它是View的子类,因为存在二级缓存,会让图形变化连贯,更加顺畅。当我们继承了SurfaceView之后,就不再使用onDraw方法,而是通过SurfaceHolder和canvas两者的结合来绘图。

Android绘图基础--Canvas和Drawable

Canvas实际上是封装了各种draw方法的类,调用draw方法把图形绘制到底层的Surface上,即绘制在Window上。

Drawable:所有可见对象的描述,理解为:素材类;Bitmap:图片类;Canvas:画笔;Paint:画笔样式与颜色、特效的集合;对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的有关OpenGL ES相关。

Android监听图形绘制(android基于监听的事件处理)  第3张

Canvas画布,用于绘制出各种形状配合画布的变幻操作可以绘制出很多复杂图形,基本的绘制图形分类。

在定制的View组件的onDraw()方法内部,使用给定的Canvas对象来完成所有的图形绘制处理(如Canvas.draw…()方法或把该Canvas对象作为参数传递给其他类的draw() 方法)。

Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB56RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。

概念区别:对于Drawable、Bitmap、Canvas和Paint它们之间的概念不是很清楚,其实它们除了Drawable外早在Sun的J2ME中就已经出现了,但是在Android平台中,Bitmap、Canvas相关的都有所变化。

到此,以上就是小编对于android基于监听的事件处理的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

图形

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本站联系的,一经查实,本站将立刻删除。