- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 图形图像PPT
第十二章 图形图像 第十三章 OPENGL 第十四章 游戏开发 第十二章 图形图像 1.访问图片 2. Tween动画 3. Frame动画 4.图形的绘制 5.通过Matrix实现动画 6.Shader类实现图形特效 7.图像像素的操作 5.通过Matrix实现动画 参考:Chapter12_Graphic_Matrix 主要通过Matrix类实现,通过函数: setRotate()、setScale()、setTranslate() 完成旋转、缩放、平移 5.通过Matrix实现动画 运行效果: 通过上下键,对图片进行缩放 通过左右键,对图片进行旋转 5.通过Matrix实现动画 1)获得位图的对象和属性 bm = BitmapFactory.decodeResource (this.getResources(), R.drawable.girl); w = bm.getWidth(); h = bm.getHeight(); 5.通过Matrix实现动画 2)在OnDraw函数中根据scale和angle创建新的图片,并进行显示 matrix.reset(); if (!isScale) { // 旋转Matrix matrix.setRotate(angle); } else { // 缩放Matrix matrix.setScale(scale, scale); } 5.通过Matrix实现动画 2)在OnDraw函数中根据scale和angle创建新的图片,并进行显示 // 根据原始位图和Matrix创建新视图 Bitmap bm2 = Bitmap.createBitmap(bm, 0, 0, w, h, matrix, true); // 绘制新视图 canvas.drawBitmap(bm2, matrix, null); 5.通过Matrix实现动画 3)根据手机上的方向键操作,对angle和scale进行修改 A. 通过KeyEvent获取按键类型 keyCode == KeyEvent.KEYCODE_DPAD_LEFT B. 左右按键控制旋转 // 向左旋转 if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) { isScale = false; angle++; postInvalidate(); } 4.图形的绘制 2)Paint B. void setAlpha(int a) 设置alpha不透明度,范围为0~255 C. void setAntiAlias(boolean aa) //是否抗锯齿 D. void setColor(int color) 设置颜色,这里Android内部定义的有Color类包 含了一些常见颜色定义 4.图形的绘制 2)Paint E.void setFakeBoldText(boolean fakeBoldText) 设置伪粗体文本 F. void setLinearText(boolean linearText) 设置线性文本 G. PathEffect setPathEffect(PathEffect effect) 设置路径效果 4.图形的绘制 2)Paint H. Rasterizer setRasterizer(Rasterizer rasterizer) 设置光栅化 I. Shader setShader(Shader shader) //设置阴影 J. void setTextAlign(Paint.Align align) //设置文本对齐 4.图形的绘制 2)Paint K. void setTextScaleX(float scaleX) //设置文本缩放倍数,1.0f为原始 L. void setTextSize(float textSize) //设置字体大小 M. Typeface setTypeface(Typeface typeface) //设置字体,Typeface包含了字体的类型,粗细,还有倾斜、颜色等。 N. void setUnderlineText(boolean underlineText) //设置下划线 4.图形的绘制 最终 Canvas和Paint在onDraw中直接使用 protected void onDraw(Canvas canvas) { Paint paintRed=new Paint(); paintRed.setColor(Color.Red); //在坐标11,3上画一个红点 canvas.dr
您可能关注的文档
最近下载
- 4 JieLink+智能终端操作平台系统调试说明书V1.0.doc
- 2022数学新课标背景下:基于项目式学习的创新教学实例.docx VIP
- 有机合成第六章.ppt VIP
- 抖音来客本地服务行业实体门店运营培训教程(三)抖音实体门店商家经营思路.pptx
- (正式版)D-L∕T 5862-2023 电化学储能电站施工图设计内容深度规定.docx VIP
- 苏教版三年级数学下册《全程测评卷》.doc
- 2024年~2022年浙江省国企招聘历年面试题目及答案解析50套.docx
- 高中物理游标卡尺、千分尺、螺旋测微器读数习题集.doc
- 中考英语作文万能模板及万能句型汇总.docx VIP
- 五个认同爱国主义教育课件.pptx
文档评论(0)