首先,如何获取 res 中的资源
数据包package:android.content.res
主要类:Resources
Android SDK中的简介:Class for accessing an application’s resources.Class for accessing an application’s resources. This sits on top of the asset manager of the application (accessible through getAssets()) and provides a higher-level API for getting typed data from the assets.
其主要接口按照功能,划分为以下三部分:
getXXXX() 例如: int getColor(int id) Drawable getDrawable(int id) String getString(int id) |
直接获取res中存放的资源 |
InputStream openRawResource(int id) |
获取资源的数据流,读取资源数据 |
void parseBundleExtras( XmlResourceParser parser, Bundle outBundle) |
从XML文件中获取数据 |
Resource为每种资源提供了相应的接口来获取这种资源,除了可以直接获取资源外,还额外提供了以数据流的方式获取资源,这在以后的应用程序开发中会经常使用,那么如何获取Resources了,如下:Resources r = this.getContext().getResources();
其次,如何获取资源中的画图对象
数据包package:android.graphics.drawable
主要类:Drawable
Android SDK中的简介:A Drawable is a general abstraction for “something that can be drawn.” Most often you will deal with Drawable as the type of resource retrieved for drawing things to the screen; the Drawable class provides a generic API for dealing with an underlying visual resource that may take a variety of forms.
看了以上简介,发现Drawable是个virtual class,具体如何画图,需要具体分析Drawable的子类,例如:BitmapDrawable
Android SDK中的简介:A Drawable that wraps a bitmap and can be tiled, stretched, or aligned. You can create a BitmapDrawable from a file path, an input stream, through XML inflation, or from a Bitmap object. It can be defined in an XML file with the <bitmap>
element.
其主要接口如下:
BitmapDrawable() BitmapDrawable(Bitmap bitmap) BitmapDrawable(String filepath) BitmapDrawable(InputStream is) |
|
void draw(Canvas canvas)
|
Draw in its bounds (set via setBounds) respecting optional effects such as alpha (set via setAlpha) and color filter (set via setColorFilter). |
final Bitmap getBitmap() | |
final Paint getPaint() |
Drawable是个抽象类,在BitmapDrawable中我们就看到位图的具体操作,在仔细看下BitmapDrawable的构造函数,我们就会发现与Resource中的openRawResource()接口是相对应的,就可以通过以下方法来获取位图:
Resources r = this.getContext().getResources();
Inputstream is = r.openRawResource(R.drawable.my_background_image);
BitmapDrawable bmpDraw = new BitmapDrawable(is);
Bitmap bmp = bmpDraw.getBitmap();
关于Drawable深入的学习与理解,请阅读Android画图学习总结(三)——Drawable
然后,看几个常用的辅助类
- Paint
数据包package:android.graphics
Android SDK中的简介:The Paint class holds the style and color information about how to draw geometries, text and bitmaps. 主要就是定义:画刷的样式,画笔的大小/颜色等。 - Typeface
数据包 package:android.graphics
Android SDK中的简介:The Typeface class specifies the typeface and intrinsic style of a font. 主要就是定义:字体。
最后,核心类显示资源
数据包package:android.graphics
主要类:Canvas
Android SDK中的简介:The Canvas class holds the “draw” calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).
按照结构的功能,将主要接口分为以下3部分:
boolean clipXXXX() | Region区域操作: DIFFERENCE INTERSECT REPLACE REVERSE_DIFFERENCE UNION XOR |
void drawXXXX() | 画图函数 |
void rotate() void scale() void skew() void translate() |
画布操作函数 |
Region在这里需要特殊说明下:Region就是一个区域,也就是画布(Canvas)中的有效区域,在无效区域上draw,对画布没有任何改变。
转"http://www.moandroid.com/?p=741
Android画图学习总结(二)——Bitmap
http://www.moandroid.com/?p=764
Android画图学习总结(三)——Drawable
http://www.moandroid.com/?p=784
Android画图学习总结(四)——Animation(上)
http://www.moandroid.com/?p=790
Android画图学习总结(四)——Animation(中)
http://www.moandroid.com/?p=808
Android画图学习总结(四)——Animation(下)
http://www.moandroid.com/?p=812
Android画图学习总结(五)——Paint
http://www.moandroid.com/?p=937
发表评论
-
2012/10/29
2012-10-29 18:34 0实现了 图片上下左右滑动 放大放小 显示姓名 及 单击 双击 ... -
10.25
2012-10-25 13:52 0因为自定义 长按控件后, 图片放大放小功能无法实现 所以我把它 ... -
10.23
2012-10-23 23:48 0if (allFilesIsNotDir) { // ... -
主要类
2012-10-19 10:02 0package com.picture; import ja ... -
上下滑动 左右切换 图片放大放小
2012-10-19 08:34 0大概思路已经实现了 你自己改改不太合理的地方把. 最下面那个1 ... -
2012/10/16 左右滑动,放大放小显示姓名
2012-10-16 16:49 0左右滑动,放大放小显示姓名 下午 16:46 -
2012/10/16 左右滑动,放大放小
2012-10-16 08:57 0早上8:53 -
遍历图片
2012-10-14 23:10 0package com.mp; import java. ... -
android
2012-10-11 19:01 0//通过url 获取图片 public static b ... -
Android Log详解
2012-10-08 15:53 0android.util.Log常用的方法有以下5个:Log. ... -
android ui 事件处理
2012-09-14 10:33 0view类包含了一大堆命名类似on<..>List ... -
android Paint属性
2012-08-23 14:07 924/** * Paint类介绍 ... -
Android中Bitmap和Drawable
2012-08-23 11:18 741一、相关概念1、Drawable就是一个可画的对象,其可能是 ... -
http请求方式
2012-08-21 16:12 0/** * * @param url 发送 ... -
sqlite 入门
2012-09-13 13:42 8991.将数据库文件存放在attets下的schema中 ... -
sqlite
2012-08-21 15:15 0要在Android系统中操作SQLite数据库,是通过Andr ... -
反编译教程
2012-08-21 14:06 1067一、反编译Apk得到Java源代码首先要下载两个工具:dex2 ... -
将apk安装到模拟器中
2012-08-21 13:49 8171. 将apk 放在E:\android-sdk-window ...
相关推荐
介绍了用AutoCAD 2000绘制工程图样时涉及到的制图国家标准, 对GB/ T 18229与 GB/ T 14665进行了比较, 给出 了AutoCAD 2000 各部分绘图参数的设置和功能的调整方法。
《机械制图与计算机绘图》教学大纲 1 《电工学》教学大纲 5 《电子技术》教学大纲 8 《工程力学》教学大纲 12 《公差配合与技术测量》课程教学大纲 16 《机械设计基础》教学大纲 20 《液压与气压传动》教学大纲 26 ...
机械制图课件:01_制图基本知识(3)尺规绘图的操作方法和制图步骤.ppt
制图国家标准与AutoCAD2000绘图初始环境设置(朱玉华,庄殿铮著)
重庆大学工程制图与计算机绘图总复习PPT课件.pptx
机械制图与计算机绘图测绘与拆装实训指导书PPT教案.pptx
十年绘图员谈CAD制图规范 建筑者必看
大一下学期的制图课会用到的 制图第13章 制图 第13 章 大一 工程 绘图
对计算机工程制图与计算机绘图感兴趣的朋友可以下载学习
机械制图与计算机绘图基础全书教案完整版电子教案整本书教案最全单元教学设计.doc
这是机械制图绘图实例题 主要针对于想学习二位工程图绘制的初学者
----------------------- 机械制图及计算机绘图(焊接)课程标准全文共11页,当前为第1页。 机械制图及计算机绘图(焊接)课程标准全文共11页,当前为第2页。 机械制图及计算机绘图(焊接)课程标准全文共11页,当前为第3...
画法几何及工程制图:1-3手工绘图.ppt
这些答案通常包括图纸上的具体绘图内容、尺寸、标注和符号的正确使用,以及制图规范和标准的遵循。机械制图习题答案旨在帮助学习者理解和掌握机械制图的基本原理和技巧,以便他们能够在实际工程设计和制造中有效地...
十年绘图员谈CAD制图规范,助你提高CAD制图的效率
园林制图与计算机绘图习题册参考答案-B23-3278.pdf
绘图练习用CAD机械图.zipCAD机械图纸零件装配制图参考资料图库下载绘图练习用CAD机械图.zipCAD机械图纸零件装配制图参考资料图库下载绘图练习用CAD机械图.zipCAD机械图纸零件装配制图参考资料图库下载绘图练习用CAD...
自己写的精美的绘图软件,简单CAD制图,可以进行多种变换,欢迎大家参考
AutoCAD化工制图模块集,很全面的绘图资料有需要的下载