BitmapFactory

public class BitmapFactory
extends Object

java.lang.Object
   ↳ android.graphics.BitmapFactory


Creates Bitmap objects from various sources, including files, streams, and byte-arrays.

Summary

Nested classes

class BitmapFactory.Options

 

Public constructors

BitmapFactory()

Public methods

static Bitmap decodeByteArray(byte[] data, int offset, int length, BitmapFactory.Options opts)

Decode an immutable bitmap from the specified byte array.

static Bitmap decodeByteArray(byte[] data, int offset, int length)

Decode an immutable bitmap from the specified byte array.

static Bitmap decodeFile(String pathName, BitmapFactory.Options opts)

Decode a file path into a bitmap.

static Bitmap decodeFile(String pathName)

Decode a file path into a bitmap.

static Bitmap decodeFileDescriptor(FileDescriptor fd)

Decode a bitmap from the file descriptor.

static Bitmap decodeFileDescriptor(FileDescriptor fd, Rect outPadding, BitmapFactory.Options opts)

Decode a bitmap from the file descriptor.

static Bitmap decodeResource(Resources res, int id)

Synonym for decodeResource(Resources, int, android.graphics.BitmapFactory.Options) with null Options.

static Bitmap decodeResource(Resources res, int id, BitmapFactory.Options opts)

Synonym for opening the given resource and calling decodeResourceStream(Resources, TypedValue, InputStream, Rect, BitmapFactory.Options).

static Bitmap decodeResourceStream(Resources res, TypedValue value, InputStream is, Rect pad, BitmapFactory.Options opts)

Decode a new Bitmap from an InputStream.

static Bitmap decodeStream(InputStream is)

Decode an input stream into a bitmap.

static Bitmap decodeStream(InputStream is, Rect outPadding, BitmapFactory.Options opts)

Decode an input stream into a bitmap.

Inherited methods

Public constructors

BitmapFactory

added in API level 1
public BitmapFactory ()

Public methods

decodeByteArray

added in API level 1
public static Bitmap decodeByteArray (byte[] data, 
                int offset, 
                int length, 
                BitmapFactory.Options opts)

Decode an immutable bitmap from the specified byte array.

Parameters
data byte: byte array of compressed image data

offset int: offset into imageData for where the decoder should begin parsing.

length int: the number of bytes, beginning at offset, to parse

opts BitmapFactory.Options: null-ok; Options that control downsampling and whether the image should be completely decoded, or just is size returned.

Returns
Bitmap The decoded bitmap, or null if the image data could not be decoded, or, if opts is non-null, if opts requested only the size be returned (in opts.outWidth and opts.outHeight)

Throws
IllegalArgumentException if BitmapFactory.Options.inPreferredConfig is Bitmap.Config.HARDWARE and BitmapFactory.Options.inMutable is set, if the specified color space is not RGB, or if the specified color space's transfer function is not an ICC parametric curve

decodeByteArray

added in API level 1
public static Bitmap decodeByteArray (byte[] data, 
                int offset, 
                int length)

Decode an immutable bitmap from the specified byte array.

Parameters
data byte: byte array of compressed image data

offset int: offset into imageData for where the decoder should begin parsing.

length int: the number of bytes, beginning at offset, to parse

Returns
Bitmap The decoded bitmap, or null if the image could not be decoded.

decodeFile

added in API level 1
public static Bitmap decodeFile (String pathName, 
                BitmapFactory.Options opts)

Decode a file path into a bitmap. If the specified file name is null, or cannot be decoded into a bitmap, the function returns null.

Parameters
pathName String: complete path name for the file to be decoded.

opts BitmapFactory.Options: null-ok; Options that control downsampling and whether the image should be completely decoded, or just is size returned.

Returns
Bitmap The decoded bitmap, or null if the image data could not be decoded, or, if opts is non-null, if opts requested only the size be returned (in opts.outWidth and opts.outHeight)

Throws
IllegalArgumentException if BitmapFactory.Options.inPreferredConfig is Bitmap.Config.HARDWARE and BitmapFactory.Options.inMutable is set, if the specified color space is not RGB, or if the specified color space's transfer function is not an ICC parametric curve

decodeFile

added in API level 1
public static Bitmap decodeFile (String pathName)

Decode a file path into a bitmap. If the specified file name is null, or cannot be decoded into a bitmap, the function returns null.

Parameters
pathName String: complete path name for the file to be decoded.

Returns
Bitmap the resulting decoded bitmap, or null if it could not be decoded.

decodeFileDescriptor

added in API level 1
public static Bitmap decodeFileDescriptor (FileDescriptor fd)

Decode a bitmap from the file descriptor. If the bitmap cannot be decoded return null. The position within the descriptor will not be changed when this returns, so the descriptor can be used again as is.

Parameters
fd FileDescriptor: The file descriptor containing the bitmap data to decode

Returns
Bitmap the decoded bitmap, or null

decodeFileDescriptor

added in API level 1
public static Bitmap decodeFileDescriptor (FileDescriptor fd, 
                Rect outPadding, 
                BitmapFactory.Options opts)

Decode a bitmap from the file descriptor. If the bitmap cannot be decoded return null. The position within the descriptor will not be changed when this returns, so the descriptor can be used again as-is.

Parameters
fd FileDescriptor: The file descriptor containing the bitmap data to decode

outPadding Rect: If not null, return the padding rect for the bitmap if it exists, otherwise set padding to [-1,-1,-1,-1]. If no bitmap is returned (null) then padding is unchanged.

opts BitmapFactory.Options: null-ok; Options that control downsampling and whether the image should be completely decoded, or just its size returned.

Returns
Bitmap the decoded bitmap, or null

Throws
IllegalArgumentException if BitmapFactory.Options.inPreferredConfig is Bitmap.Config.HARDWARE and BitmapFactory.Options.inMutable is set, if the specified color space is not RGB, or if the specified color space's transfer function is not an ICC parametric curve

decodeResource

added in API level 1
public static Bitmap decodeResource (Resources res, 
                int id)

Synonym for decodeResource(Resources, int, android.graphics.BitmapFactory.Options) with null Options.

Parameters
res Resources: The resources object containing the image data

id int: The resource id of the image data

Returns
Bitmap The decoded bitmap, or null if the image could not be decoded.

decodeResource

added in API level 1
public static Bitmap decodeResource (Resources res, 
                int id, 
                BitmapFactory.Options opts)

Synonym for opening the given resource and calling decodeResourceStream(Resources, TypedValue, InputStream, Rect, BitmapFactory.Options).

Parameters
res Resources: The resources object containing the image data

id int: The resource id of the image data

opts BitmapFactory.Options: null-ok; Options that control downsampling and whether the image should be completely decoded, or just is size returned.

Returns
Bitmap The decoded bitmap, or null if the image data could not be decoded, or, if opts is non-null, if opts requested only the size be returned (in opts.outWidth and opts.outHeight)

Throws
IllegalArgumentException if BitmapFactory.Options.inPreferredConfig is Bitmap.Config.HARDWARE and BitmapFactory.Options.inMutable is set, if the specified color space is not RGB, or if the specified color space's transfer function is not an ICC parametric curve

decodeResourceStream

added in API level 4
public static Bitmap decodeResourceStream (Resources res, 
                TypedValue value, 
                InputStream is, 
                Rect pad, 
                BitmapFactory.Options opts)

Decode a new Bitmap from an InputStream. This InputStream was obtained from resources, which we pass to be able to scale the bitmap accordingly.

Parameters
res Resources

This value may be null.

value TypedValue

This value may be null.

is InputStream

This value may be null.

pad Rect

This value may be null.

opts BitmapFactory.Options

This value may be null.

Returns
Bitmap

This value may be null.

Throws
IllegalArgumentException if BitmapFactory.Options.inPreferredConfig is Bitmap.Config.HARDWARE and BitmapFactory.Options.inMutable is set, if the specified color space is not RGB, or if the specified color space's transfer function is not an ICC parametric curve

decodeStream

added in API level 1
public static Bitmap decodeStream (InputStream is)

Decode an input stream into a bitmap. If the input stream is null, or cannot be used to decode a bitmap, the function returns null. The stream's position will be where ever it was after the encoded data was read.

Parameters
is InputStream: The input stream that holds the raw data to be decoded into a bitmap.

Returns
Bitmap The decoded bitmap, or null if the image data could not be decoded.

decodeStream

added in API level 1
public static Bitmap decodeStream (InputStream is, 
                Rect outPadding, 
                BitmapFactory.Options opts)

Decode an input stream into a bitmap. If the input stream is null, or cannot be used to decode a bitmap, the function returns null. The stream's position will be where ever it was after the encoded data was read.

Parameters
is InputStream: The input stream that holds the raw data to be decoded into a bitmap.

This value may be null.

outPadding Rect: If not null, return the padding rect for the bitmap if it exists, otherwise set padding to [-1,-1,-1,-1]. If no bitmap is returned (null) then padding is unchanged.

opts BitmapFactory.Options: null-ok; Options that control downsampling and whether the image should be completely decoded, or just is size returned.

Returns
Bitmap The decoded bitmap, or null if the image data could not be decoded, or, if opts is non-null, if opts requested only the size be returned (in opts.outWidth and opts.outHeight)

Throws
IllegalArgumentException if BitmapFactory.Options.inPreferredConfig is Bitmap.Config.HARDWARE and BitmapFactory.Options.inMutable is set, if the specified color space is not RGB, or if the specified color space's transfer function is not an ICC parametric curve

Prior to Build.VERSION_CODES.KITKAT, if is.markSupported() returns true, is.mark(1024) would be called. As of Build.VERSION_CODES.KITKAT, this is no longer the case.