- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android课程讲义
---图形图像处理
View类开发框架
在View类框架中,任何自定义的View类都只需要重写onDraw( )方法来进行界面的显示
onDraw( )方法不能被直接调用,想要重新加载界面通常有两种方法,一种是在Handler中调用invalidate,另一种是直接在线程中调用postInvalidate( )
invalidate( )不能直接在工作者线程中进行调用,因为它违背了单线程模型,而android的UI操作并不是线程安全的。而postInvalidate()可以在工作者线程中直接进行调用
图形图像开发基础
图形图像开发基础
SurfaceView类开发框架
surfaceView继承自View类,它通过一个新线程来更新画面。因此,SurfaceView更适合需要快速加载UI,或渲染代码阻塞UI线程的时间过长的情形
SurfaceView封装了一个Surface对象,而不是Canvas,这一点对于那些资源敏感的操作特别有用
SurfaceView一般通过使用SurfaceHolder类来控制Canvas在其surface上的操作,SurfaceHolder类可以通过getHolder( )来获得
图形图像处理基础
SurfaceView类开发框架
SurfaceHolder中的几个重要的方法
lockCanvas( )方法用于锁定画布,这样Surface中就可以指定画布了,之后就可以在画布上进行绘画
unlockCanvasAndPost(Canvas canvas):用于释放处于锁定状态的Canvas
当Surface的状态发生改变时,可以通过SurfaceHolder.Callback来获取这些信息
SurfaceHolder.Callback有三个重要的方法,surfaceChanged( )、surfaceCreated( )、surfaceDestroyed( )分别在Surface创建、改变、销毁时被调用
Graphics类开发
Paint和Color类
画笔Paint类包含如何绘制几何形状、文本和位图的样式及颜色信息
Paint文本绘制主要包括这些方面,如setColor( )、setTypeface( )、setTextSize( )等
Paint图形图像绘制主要通过setColor( )、setStyle( )等方法来设置
Graphics类开发
Paint和Color类
颜色被表示为封装的数值,这个数值由四个字节组成,分别为alpha、red、green、blue,任何透明性只存储在alpha部分。
Color类定义了一些方法来创建和转换颜色值。如red( int color)、green(int color)、blue(int color)等方法可以获取一个颜色常量值的红绿蓝分色,而HSVToColor( )、RGBToHSV( )等方法可以在不同颜色空间进行颜色的转换。
Graphics类开发
Canvas类介绍
要实现一个吸引人的游戏,色彩艳丽的界面设计是必不可少的,这就需要Paint和Canvas配合实现
设置Canvas属性的常用方法
drawColor( ):用来设置画布背景色,体现在手机上就是手机屏幕背景色
clipRect( ):设置裁剪区域,即设置显示区域
rotate( ):旋转画布
Graphics类开发
Canvas类介绍
Canvas常用的绘制方法
drawRect(Rect rect, Paint paint)用于绘制矩形区域
drawBitmap(bitmap bitmap, Rect src, Rect dst, Paint paint)用于绘制位图
drawPoint(float x, float y, Paint paint)用于画点
drawLine(float startX, float startY, float stopX, float stopY, Paint paint)用于画线
drawText(String text, float x, float y, Paint paint)用于在某个位置写文本
Graphics类开发
绘制图像
Android中显示图像主要有两步,第一步是获取图像资源,第二步调用画布类的drawBitmap方法进行图像显示。
以SurfacView为框架在屏幕中央显示一幅图像如图示
Graphics类开发
图像旋转和缩放
android中对图像的变换操作有平移、旋转、缩放和倾斜四种,android内的Matrix提供了这四种操作方法
Matrix在使用前必须通过reset( )或set( )被初始化。其中对应每种操作都有三种接口setXXX, preXXX,postXXX,在调用这
您可能关注的文档
最近下载
- 奥迪C5使用说明书.pdf VIP
- 药品追溯管理培训试题(附答案).docx VIP
- 基于SINEs分子标记的拟南芥不同生态型的鉴定与划分-植物学专业论文.docx VIP
- 动车组调度基本知识.pptx VIP
- 建筑工程图集 FJ01~03(2007年合订本):防空地下室建筑设计(2007年合订本) 1.pdf VIP
- 小学数学知识点归纳汇总完整版小学数学知识点归纳.doc VIP
- 健康养老职业素养与安全:健康养老职业安全管理PPT教学课件.pptx
- 5《去外婆家》教案-2025-2026学年二年级语文统编版上册.docx
- 机房搬迁服务投标方案(技术标).docx
- 第一单元 观察植物(单元测试)科学粤教粤科版三年级上册 A3版.pdf
文档评论(0)