andriod.graphics.BitmapFactory类详解

来源:互联网 发布:淘宝内裤男模左肩纹身 编辑:程序博客网 时间:2024/05/22 03:33

Bitmap实现在android.graphics包中。但是Bitmap类的构造函数是私有的,外面并不能实例化,只能是通过JNI实例化。这必然是 某个辅助类提供了创建Bitmap的接口,而这个类的实现通过JNI接口来实例化Bitmap的,这个类就是BitmapFactory

public class

BitmapFactory

extends Object
java.lang.Object   ↳android.graphics.BitmapFactory
Public ConstructorsBitmapFactory()Public Methodsstatic BitmapdecodeByteArray(byte[] data, int offset, int length, BitmapFactory.Options opts)
Decode an immutable bitmap from the specified byte array.
static BitmapdecodeByteArray(byte[] data, int offset, int length)从字节数组中解码出Bitmap
Decode an immutable bitmap from the specified byte array.
static BitmapdecodeFile(String pathName)从文件路径解码出Bitmap
Decode a file path into a bitmap.
static BitmapdecodeFile(String pathName, BitmapFactory.Options opts)BitmapFactory.Options为解码参数
Decode a file path into a bitmap.
static BitmapdecodeFileDescriptor(FileDescriptor fd)从一个文件描述符解码出Bitmap
Decode a bitmap from the file descriptor.
static BitmapdecodeFileDescriptor(FileDescriptor fd, Rect outPadding, BitmapFactory.Options opts)从一个文件描述符解码出Bitmap,以矩阵outPadding为大小,
BitmapFactory.Options为解码参数
Decode a bitmap from the file descriptor.
static BitmapdecodeResource(Resources res, int id, BitmapFactory.Options opts)
Synonym for opening the given resource and calling decodeResourceStream(Resources, TypedValue, InputStream, Rect, BitmapFactory.Options).
static BitmapdecodeResource(Resources res, int id)
Synonym for decodeResource(Resources, int, android.graphics.BitmapFactory.Options) will null Options.
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);
static BitmapdecodeResourceStream(Resources res, TypedValue value, InputStream is, Rect pad, BitmapFactory.Options opts)
Decode a new Bitmap from an InputStream.
static BitmapdecodeStream(InputStream is)
Decode an input stream into a bitmap.
static BitmapdecodeStream(InputStream is, Rect outPadding, BitmapFactory.Options opts)从inputStream中解码出Bitmap,以矩阵outPadding为大小,
BitmapFactory.Options为解码参数
Decode an input stream into a bitmap.

BitmapFactory.Options

public Bitmap inBitmap
public int inDensity
public boolean inDither
public boolean inInputShareable
public boolean inJustDecodeBounds  如果设置为true,并不会把图像的数据完全解码,亦即decodeXyz()返回值为null,但是Options的outAbc中解出了图像的基本信息。
public boolean inMutable
public boolean inPreferQualityOverSpeed
public Bitmap.Config inPreferredConfig    指定decode到内存中,手机中所采用的编码,可选值定义在Bitmap.Config中。缺省值是ARGB_8888。
public boolean inPurgeable
public int inSampleSize  设置decode时的缩放比例
public boolean inScaled
public int inScreenDensity
public int inTargetDensity
public byte[] inTempStorage
public boolean mCancel 
public int outHeight 指定解码出来的高度
public String outMimeType  指定解码出来的MimeType
public int outWidth  指定解码出来的宽度


2、Bitmap bitmap=bitmapDrawable.getBitmap();


二、// 转换为BitmapDrawable对象    
1、BitmapDrawable bmpDraw=new BitmapDrawable(bitmap); 
2、BitmapDrawable bitmapDrawable=new BitmapDrawable(InputStream);
3、BitmapDrawable bmpDraw=(BitmapDrawable)getResources().getDrawable(R.drawable.pic180);







0 0
原创粉丝点击