用微课学●Android高级开发(唐亮周羽)电子资源电子课件 第八章图形图像处理及动画设计.pptxVIP

用微课学●Android高级开发(唐亮周羽)电子资源电子课件 第八章图形图像处理及动画设计.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;图形图像处理机动画设计;自定义View就是继承一个View的子孙类或View类,然后重写其中的一些方法,来完成界面美观效果。 Android中,可以用自定义View的技术轻松地创建定制化的控件,创造自定义的控件步骤: 最开始要建立一个基于View或其子孙类的子类。 在XML文件中定义属性和参数,也可以在Java代码中调用方法来设置。 在界面的XML布局文件中,使用包名.自定义View的类名标签将自定义的View加入到界面中。 如果有必要的话,需要编写事件监听器和修改一些方法。 一般地,都需要重写onMeasure()和onDraw()两个方法,它们关系到自定义View中界面如何绘制。 有必要的话,其他的以on开头的方法也需要重写。 ;onDraw()方法将会传送一个?Canvas?对象,通过它即可在2D图形上做任何事情,任何可以想到的东西都可以通过它呈现。 onMeasure()?方法较为复杂一些,因为这个方法是呈现组件和容器互动的关键部分,onMeasure()应该被重写,让它能够有效且准确的表现它所包含部分的测量值。一旦测量宽度和高度出来后,就要立即调用setMeasuredDimension()?方法;Canvas就像手机中的画布,我可以在Canvas上绘制图形或者图片。 View类的onDraw()方法会传入一个Canvas对象,用来绘制组件界面的画布。 在实现onDraw()方法时,经常会调用到save()和restore()方法。 save()方法用来保存Canvas的状态,保存之后,可以调用Canvas中的位移、缩放、旋转和裁剪等操作;restore()方法可以恢复Canvas之前保存的状态,防止save()后对Canvas的操作会对后续绘制有所影响。save()和restore()要同时使用,如果restore()的调用次数比save()多,会发生错误;Paint类拥有样式与颜色信息,主要是有关于如何绘制几何图形、文字及位图的方法。 void setARGB(int a, int r, int g, int b) 设置Paint对象颜色,参数一为alpha透明通道。 void setFakeBoldText(boolean fakeBoldText) 是否设置伪粗体文本 void setLinearText(boolean linearText) 设置线性文本 void setTextSize(float textSize) 设置字体大小;Bitmap可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。 可以使用下面的几种方法获取位图: 通过BitmapFactory的各种静态方法 根据资源文件创建: 根据图片创建: ;通过Drawable对象,步骤如下: 使用BitmapDrawable (InputStream is)构造一个BitmapDrawable; 使用BitmapDrawable类的getBitmap()获取得到位图; BitmapDrawable也提供了显示位图等操作。 通过资源(Resources) 需要先得到Resources对象,然后调用openRawResource()方法获取输入流,并将该流传给一个BitmapDrawable对象,然后调用Bitmap对象的getBitmap()方法得到位图;要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获取得到Bitmap 在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888和RGB_565四种。 Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩。;显示位图需要使用核心类Canvas,可以直接通过Canvas类的drawBirmap()显示位图,或者借助于BitmapDrawable来将Bitmap绘制到Canvas。 Android提供了两种位图缩放的方法: drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) 将一个位图按照需求重画一遍,画后的位图就是我们需要的了,与位图的显示几乎一样。 createBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter) 在原有位图的基础上,缩放原位图,创建一个新的位图。 ;通过Matrix,可以控制Android绘图坐标的位移、旋转、缩放等功能。 Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档