[计算机]android画图学习总结二——bitmap

[计算机]android画图学习总结二——bitmap

ID:29874090

大小:111.68 KB

页数:5页

时间:2018-12-24

[计算机]android画图学习总结二——bitmap_第1页
[计算机]android画图学习总结二——bitmap_第2页
[计算机]android画图学习总结二——bitmap_第3页
[计算机]android画图学习总结二——bitmap_第4页
[计算机]android画图学习总结二——bitmap_第5页
资源描述:

《[计算机]android画图学习总结二——bitmap》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Android画图学习总结(二)——BitmapBy:海市蜃楼

2、In:Android开发通过前一篇的学习,对Android画图核心部分有了一定的了解,后面篇幅,我们将详细介绍Android中的各种画图对象的使用,首先介绍我们最常用的Bitmap(位图)。位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最有吸引力的。按照对位图的操作,分为以下几个功能分别介绍:1.从资源中获取位图2.获取位图的信息3.显示位图4.位图缩放5.位图旋转1.从资源中获取位图在前一篇幅介绍了:先获取Resource,然后可以通过资源ID获取Drawable,也可以通过资源

3、ID获取资源文件的数据流。使用第一种方法比较容易,下面详细说明第二种方法。通过Resource的函数:InputStream openRawResource(intid)获取得到资源文件的数据流后,也可以通过2种方法来获取Bitmap,如下:使用BitmapDrawable(ADrawablethatwrapsabitmapandcanbetiled,stretched,oraligned.)1.使用BitmapDrawable(InputStreamis)构造一个BitmapDrawable;2.使用BitmapDrawable类的getBitmap(

4、)获取得到位图;BitmapDrawable也提供了显示位图等操作使用BitmapFactory(CreatesBitmapobjectsfromvarioussources,includingfiles,streams,andbyte-arrays.)1.使用BitmapFactory类decodeStream(InputStreamis)解码位图资源,获取位图BitmapFactory的所有函数都是static,这个辅助类可以通过资源ID、路径、文件、数据流等方式来获取位图。以上方法在编程的时候可以自由选择,在AndroidSDK中说明可以支持的图片

5、格式如下:png(preferred),jpg(acceptable),gif(discouraged),虽然bmp格式没有明确说明,但是在AndroidSDKSupportMediaFormat中是明确说明了。2.获取位图的信息要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获取得到Bitmap就迎刃而解了,这些信息在Bitmap的函数中可以轻松获取到。AndroidSDK中对Bitmap有详细说明,阅读起来也比较容易,不在此详细说明,这里只是辅助说明以下2点:·在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALP

6、HA_8、ARGB_4444、ARGB_8888、RGB_565,缺少了一些其他的,比如说RGB_555,在开发中可能需要注意这个小问题;·Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩;其他格式的需要Android开发人员自己补充了。3.显示位图显示位图需要使用核心类Canvas,可以直接通过Canvas类的drawBirmap()显示位图,或者借助于BitmapDrawable来将Bitmap绘制到Canvas。具体如何显示位图不是主要的问题,主要问题是如何获取Canvas,参考Snak

7、e中的方法,做了个简单的例子testView,提供给大家下载。testView例子介绍:其包含2个类testActivity,testView;testActivity继承与Activity,testView继承与View。这个例子就是将testView直接作为testActivity的窗口,这样我们就可以直接在testView画图了。具体如何实现的,请大家参考testActivity的onCreate()中的代码,以及layoutmain.xml中的设置。在testView的onDraw()直接画图,结果在例子程序运行后就可以直接在界面上显示了。4.

8、位图缩放位图的缩放,在AndroidSDK中提供了2种方法:·将一个位图按照需求重画一遍,画后的位图就是我们需要的了,与位图的显示几乎一样:drawBitmap(Bitmapbitmap,Rectsrc,Rectdst,Paintpaint)·在原有位图的基础上,缩放原位图,创建一个新的位图:createBitmap(Bitmapsource,intx,inty,intwidth,intheight,Matrixm,booleanfilter)第2种方法一看就明白,对于第一种方法,举个简单的例子来说明:intw=320,h=240;StringmstrT

9、itle=“感受Android带给我们的新体验”;BitmapmbmpTest=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。