关于Bitmap图像资源的获取
来源:互联网 发布:pp苹果助手mac版 编辑:程序博客网 时间:2024/06/05 01:13
创建Bitmap对象有几种方法。下面简单列举两大类。
一,Bitmap对象提供了一系列静态方法来创建新的Bitmap对象。
1.createBitmap(Bitmap source, int x, int y, int width, int height):从原位图中指定坐标点(x,y)开始,从中挖取宽width、高height的一块出来,创建新的Bitmap对象。
2.createScaledBitmap(Bitmap source, int dstWidth, int dstHeight, boolean filter):对源位图进行缩放,缩放成指定width、height大小的新位图对象。
3.createBitmap(int width, int height, Bitmap.Config config):创建一个宽width、高height的新位图。
4.createBitmap(Bitmap source, int x, int y, int width, int height, Matrix matrix, boolean filter):从原位图中指定坐标点(x,y)开始,从中挖取宽width、高height的一块出来,创建新的Bitmap对象。并按Matrix指定的规则进行变换。
二、BitmapFactory是一个工具类,它提供了大量的方法来用于从不同的数据源来解析、创建Bitmap对象。包含了如下方法:
1.decodeByteArray(byte[] data, int offset, int length):从指定的字节数组的offset位置开始,将长度为length的字节数据解析成Bitmap对象。
2.decodeFile(String pathName):从pathName指定的文件中解析、创建Bitmap对象。
3.decodeFileDescriptor(FileDescriptor fd):从FileDescriptor对应的文件中解析、创建Bitmap对象。
4.decodeResource(Resources res, int id):根据给定的资源ID从指定资源中解析、创建Bitmap对象。
5.decodeStream(InputStream is):从指定的输入流中解析、创建Bitmap对象。
注意:
大部分时候我们只需把图片放在/res/drawable目录下就可以在程序中通过该图片的资源ID来获取封装的drawable对象。但由于手机系统的内存比较小,如果系统不停地去解析、创建Bitmap对象,可能由于前面的资源所占用的内存还没释放,从而导致内存溢出错误。
Adroid为Bitmap提供了两个方法来判断它是否已被回收,以及强制Bitmap回收自己。
boolean isRecycled():返回该对象是否已被回收。
void recycle():强制一个Bitmap对象立即回收自己。
除此之外,如果Android应用需要访问其他存储路径(比如SDCARD)里的图片,都需要借助BitmapFactory来解析、创建Bitmap对象。
- 关于Bitmap图像资源的获取
- 获取系统图片资源 drawable和bitmap之间的转换
- bitmap的图像配置
- 在android中使用图像资源 bitmap
- Bitmap以最省内存的方式获取本地资源,转换drawable到bitmap
- Bitmap和Drawable之间的相互转换、Bitmap和 byte[] 之间的相互转换、从资源中获取Bitmap
- c#图像处理入门的一个好方法-bitmap类和图像像素值获取方法
- 读取本地资源的图片,根据资源文件获取Bitmap,等比例压缩图片
- 关于获取Bitmap图片的大小的方法
- 如何在drawable资源中获取bitmap?
- Android 异步获取网络图片Bitmap资源
- android-获取资源图片为Bitmap
- 获取Bitmap的方式
- 获取bitmap的大小
- Bitmap的获取
- Bitmap详解之获取Bitmap的方法
- 关于Bitmap的旋转
- 关于bitmap的使用
- 关于字符串操作的一些函数简单说明与应用
- Xcode中无智能提示解决方法
- ie6 png图片透明
- javascript (一)
- uva--10635
- 关于Bitmap图像资源的获取
- 2道C编程面试题
- DoDataExchange函数和UpdataData函数
- POJ 3764 The xor-longest Path
- Java项目嵌入Jetty-Web服务器
- Android的Activity的launchMode与onActivityResult方法的关系
- 数学之路(3)-机器学习(3)-机器学习算法-神经网络[8]
- Linux基本功九:Linux系统状态监测及进程控制
- VC++常用数据类型及其操作详解