- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android开发与实践课件第11章图像与动画处理技术知识.ppt
;; 图形与动画处理技术在Android中非常重要,特别是在开发益智类游戏或者2D游戏时,都离不开图形与动画处理技术的支持。本章将对Android中的图形与动画处理技术进行详细介绍。;; 在Android中,绘制图像时,最常应用的就是Paint类、Canvas类、Bitmap类和BitmapFactory类。其中Paint类代表画笔,Canvas类代表画布。在现实生活中,有画笔和画布我们就可以正常作画了,在Android中,也是如此,通过Paint类和Canvas类就可绘制图像了。下面将对这4个类进行详细介绍。;图11-1 绘制带阴影的矩形 图11-2 绘制以渐变色填充的矩形
【例11-1】 分别定义一个线性渐变、径向渐变和角度渐变的画笔,并应用这“3只画笔”绘制3个矩形。(实例位置:光盘\MR\源码\第11章\11-1)
关键代码如下:
Paint paint=new Paint(); //定义一个默认的画笔
//线性渐变
Shader shader=new LinearGradient(0, 0, 50, 50, Color.RED, Color.GREEN, Shader.TileMode.MIRROR);
paint.setShader(shader); //为画笔设置渐变器
canvas.drawRect(10, 70, 100, 150, paint); //绘制矩形
//径向渐变;shader=new RadialGradient(160, 110, 50, Color.RED, Color.GREEN, Shader.TileMode.MIRROR);
paint.setShader(shader); //为画笔设置渐变器
canvas.drawRect(115,70,205,150, paint); //绘制矩形
//角度渐变
shader=new SweepGradient(265,110,new int[]{Color.RED,Color.GREEN,Color.BLUE},null);
paint.setShader(shader); //为画笔设置渐变器
canvas.drawRect(220, 70, 310, 150, paint); //绘制矩形
运行本实例,将显示如图11-2所示的运行结果。;Canvas类代表画布,通过该类提供的方法,我们可以绘制各种图形(例如,矩形、圆形和线条等)。通常情况下,要在Android中绘图,需要先创建一个继承自View类的视图,并且在该类中重写它的onDraw(Canvas canvas)方法,然后在显示绘图的Activity中添加该视图。下面将通过一个具体的实例来说明如何创建用于绘图的画布。
【例11-2】 在Eclipse中创建Android项目,实现创建绘图画布功能。(实例位置:光盘\MR\源码\第11章\11-2)
(1)创建一个名称为DrawView的类,该类继承自android.view.View类,并添加构造方法和重写onDraw(Canvas canvas)方法,关键代码如下:
public class DrawView extends View {
/**
* 功能:构造方法
*/
public DrawView(Context context, AttributeSet attrs) {
super(context, attrs);
}
/* ; * 功能:重写onDraw()方法
*/
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
}
说明:
上面加粗的代码为重写onDraw()方法的代码。在重写的onDraw()方法中,可以编写绘图代码,参数canvas就是我们要进行绘图的画布。
(2)修改新建项目的res/layout目录下的布局文件main.xml,将默认添加的线性布局管理器和TextView组件删除,然后添加一个帧布局管理器,并在帧布局管理器中添加步骤(1)创建的自定义视图。修改后的代码如下:
?xml version=1.0 encoding=utf-8?
FrameLayout xmlns:android=/apk/res/android
android:layout_width=fill_parent
android:layout_height=fill_parent
android:orientation=vertical
; com.mingrisoft.DrawView
and
您可能关注的文档
- (陶瓷科学和 与工艺学)第五章2浆料制备工艺+浆料成型.ppt
- (陶瓷科学和 与工艺学)第四章4粉体制备工艺-沉淀法.ppt
- (陶瓷科学和 与工艺学)第四章6粉体制备---水热法.ppt
- (陶瓷科学和 与工艺学)第四章7sol-gel.ppt
- (集成光电子学导论)相关复习.ppt
- (集成光电子学导论)第一章光波导基本的 理论.ppt
- (集成光电子学导论)第二章光束传输基本方法.ppt
- (集成光电子学导论)第六章常见光波导材料和 与结构.ppt
- (面向对象的设计)Introduction.ppt
- (面向对象的设计)Part1Object-Oriented.ppt
- 婴幼儿护理产品创新趋势与2025年市场布局分析报告.docx
- 数字艺术创作平台在旅游产业中的应用与创新研究报告.docx
- 工业自动化改造项目2025年设备维护与生命周期管理报告.docx
- 2025年化妆品零售行业自有品牌策略与竞争优势研究报告.docx
- 新能源汽车充电设备研发团队2025年能力评估与风险分析报告.docx
- 面向2025年的医疗健康APP远程医疗与在线问诊功能研究.docx
- 家长进课堂之日常急救小常识.ppt
- 在线医疗问诊2025年市场规模与用户行为分析报告.docx
- 数字艺术创作平台构建模式创新:2025年平台发展策略与产业发展报告.docx
- 2025年现代种业创新基地与农村产业结构调整可行性分析报告.docx
文档评论(0)