1.如何获取 res 中的资源
Resources r = this.getContext().getResources();
2.如何获取资源中的画图对象,Drawable是个virtual class,具体如何画图,需要具体分析Drawable的子类,例如:BitmapDrawable
Resources r = this.getContext().getResources();
Inputstream is = r.openRawResource(R.drawable.my_background_image);
BitmapDrawable bmpDraw = new BitmapDrawable(is);
Bitmap bmp = bmpDraw.getBitmap();
从资源中获取位图有2种方法:
方法一:
1.使用BitmapDrawable (InputStream is)构造一个BitmapDrawable;
2.使用BitmapDrawable类的getBitmap()获取得到位图;
方法二:
1.使用BitmapFactory类decodeStream(InputStream is)解码位图资源,获取位图
BitmapFactory的所有函数都是static,这个辅助类可以通过资源ID、路径、文件、数据流等方式来获取位图;
以上方法在编程的时候可以自由选择,在Android SDK中说明可以支持的图片格式如下:png (preferred), jpg (acceptable), gif (discouraged),虽然bmp格式没有明确说明,但是在Android SDK Support Media Format中是明确说明了
那么在获取位图后,如何获取位图的相关信息了?
要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获取得到Bitmap就迎刃而解了,这些信息在Bitmap的函数中可以轻松获取到。Android SDK中对Bitmap有详细说明,阅读起来也比较容易,不在此详细说明,这里只是辅助说明以下2点:
--在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888、RGB_565,缺少了一些其他的,比如说RGB_555,在开发中可能需要注意这个小问题;(我反正现阶段是不懂这些的区别)
--Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩;其他格式的需要Android开发人员自己补充了.
分享到:
相关推荐
### Android画图技术详解 #### 一、概述 在Android应用开发中,图像处理是非常重要的一个环节。无论是简单的UI设计还是复杂的游戏开发,都需要用到各种各样的图像处理技术。本文将详细介绍Android画图技术的核心...
首先,我们来了解一下【Android画图学习总结(一)——类的简介.doc】中提到的基础知识。在Android中,Canvas是用于画图的画布,它提供了各种绘制几何形状、文本和图像的方法。而Paint则是绘画工具,用于设置颜色、...
从"Android 画图程序源码.zip"的标题和描述中,我们可以推测该程序具备自动绘图功能,并能动态改变图形颜色。这涉及到Android的UI设计、绘图API、线程管理和颜色处理等多个技术领域。 首先,我们要了解Android的UI...
根据给定文件的信息,本文将对Android绘画技术中的Paint组件进行深入探讨,并总结其关键知识点。Paint在Android绘画中扮演着至关重要的角色,它不仅控制了绘制文本、形状的颜色和风格,还支持复杂的绘画效果。 ### ...
Android画图学习 Android画图学习 画图的方法及总结
在Android平台上,开发一款画图软件,特别是支持3D效果的柱状图,可以极大地提升用户体验,让数据可视化更加生动。本文将详细讲解如何利用Android技术实现3D柱状图的绘制,以及与开源框架AChartEngine的比较。 首先...
总结起来,创建Android上的折线图画图工具涉及了Canvas的基本操作,包括初始化、颜色与画笔配置、线条绘制、事件处理以及性能优化等多个方面。开发者可以根据具体需求选择手动实现或利用现有库来构建这样的工具。
一、Android画图基础 Android提供了一个名为`Canvas`的类,它是进行图形绘制的基础。通过创建一个`Bitmap`对象并获取其`Canvas`实例,开发者可以在上面绘制各种形状和线条。`Canvas`提供了丰富的API,如`drawLine()`...
### Android画图学习知识点 #### 一、概览与背景 在深入了解Android画图之前,首先需要明确几个关键概念和背景信息。对于Android开发者而言,尤其是对于那些从C++转向Android开发的程序员们来说,理解Android SDK...
### Android画图学习知识点 #### 一、概览与背景 在进行Android开发的过程中,开发者可能会遇到关于如何处理图形和图像的问题。这部分内容虽然不是Android SDK文档的重点,但对于希望深入理解Android图形绘制机制...
在Android开发中,获取位图资源是绘制图像的基础步骤之一。常见的方法包括从资源文件中直接获取,或者通过输入流读取资源文件来获得位图。下面将详细介绍这两种方式: #### 1.1 使用BitmapDrawable BitmapDrawable...
接下来,我们关注多线程在Android画图中的应用。在Android主线程(UI线程)上执行耗时的操作会导致应用无响应,因此,对于复杂的绘图操作,我们需要将它们放到工作线程中处理。Android提供了`Thread`类用于创建新...
总结来说,这款"android画图程序"涉及了Android中的自定义View、Canvas绘图、Paint样式、MotionEvent处理、Bitmap操作、文件存储以及用户界面设计等多个关键知识点。通过学习和分析源代码,开发者可以深入理解...
1. **Android Canvas**: Canvas是Android系统提供的一个用于在Bitmap上绘制图形的类。它提供了多种绘制方法,如drawLine()用于绘制直线,drawRect()用于绘制矩形,drawCircle()用于绘制圆形,以及drawPath()用于绘制...
总结来说,实现"在Android上显示摄像头并在摄像头画面上画图"的功能,需要结合使用Android的摄像头API和触摸事件处理机制。在实际开发中,还需要考虑性能优化、用户体验和各种设备的兼容性。通过上述技术的综合运用...
总结来说,Android绘图与自定义组件的结合是Android开发中的高级技能,它不仅能满足独特的界面设计需求,还能提升应用的用户体验。通过熟练掌握这些技术,开发者可以创造出富有创新和吸引力的移动应用。
总结来说,AChartEngine为Android开发者提供了一个简单而强大的工具,用于在应用中快速创建和展示各种类型的图表。通过理解并熟练运用这个库,开发者可以更好地将数据可视化,提高用户体验,使应用更具吸引力和实用...
总结起来,这个项目结合了Android BLE API的使用、数据解析、图形绘制等多个技术点。开发者需要熟悉蓝牙协议,掌握Android编程,同时具备一定的数据处理和图形化展示能力。通过这个项目,不仅可以实现无线数据传输,...