# Print output for @column tags ?>
public
static
final
enum
Bitmap.Config
extends Enum<Bitmap.Config>
java.lang.Object | ||
↳ | java.lang.Enum<android.graphics.Bitmap.Config> | |
↳ | android.graphics.Bitmap.Config |
Possible bitmap configurations. A bitmap configuration describes how pixels are stored. This affects the quality (color depth) as well as the ability to display transparent/translucent colors.
Enum values | |
---|---|
Bitmap.Config |
ALPHA_8
Each pixel is stored as a single translucency (alpha) channel. |
Bitmap.Config |
ARGB_4444
This field is deprecated.
Because of the poor quality of this configuration,
it is advised to use |
Bitmap.Config |
ARGB_8888
Each pixel is stored on 4 bytes. |
Bitmap.Config |
HARDWARE
Special configuration, when bitmap is stored only in graphic memory. |
Bitmap.Config |
RGBA_F16
Each pixels is stored on 8 bytes. |
Bitmap.Config |
RGB_565
Each pixel is stored on 2 bytes and only the RGB channels are encoded: red is stored with 5 bits of precision (32 possible values), green is stored with 6 bits of precision (64 possible values) and blue is stored with 5 bits of precision. |
Public methods | |
---|---|
static
Bitmap.Config
|
valueOf(String name)
|
static
final
Config[]
|
values()
|
Inherited methods | |
---|---|
public static final Bitmap.Config ALPHA_8
Each pixel is stored as a single translucency (alpha) channel. This is very useful to efficiently store masks for instance. No color information is stored. With this configuration, each pixel requires 1 byte of memory.
public static final Bitmap.Config ARGB_4444
This field is deprecated.
Because of the poor quality of this configuration,
it is advised to use ARGB_8888
instead.
Each pixel is stored on 2 bytes. The three RGB color channels
and the alpha channel (translucency) are stored with a 4 bits
precision (16 possible values.)
This configuration is mostly useful if the application needs
to store translucency information but also needs to save
memory.
It is recommended to use ARGB_8888
instead of this
configuration.
Note: as of Build.VERSION_CODES.KITKAT
,
any bitmap created with this configuration will be created
using ARGB_8888
instead.
public static final Bitmap.Config ARGB_8888
Each pixel is stored on 4 bytes. Each channel (RGB and alpha for translucency) is stored with 8 bits of precision (256 possible values.) This configuration is very flexible and offers the best quality. It should be used whenever possible.
Use this formula to pack into 32 bits:
int color = (A & 0xff) << 24 | (B & 0xff) << 16 | (G & 0xff) << 8 | (R & 0xff);
public static final Bitmap.Config HARDWARE
Special configuration, when bitmap is stored only in graphic memory. Bitmaps in this configuration are always immutable. It is optimal for cases, when the only operation with the bitmap is to draw it on a screen.
public static final Bitmap.Config RGBA_F16
Each pixels is stored on 8 bytes. Each channel (RGB and alpha
for translucency) is stored as a
half-precision floating point value
.
This configuration is particularly suited for wide-gamut and
HDR content.
Use this formula to pack into 64 bits:
long color = (A & 0xffff) << 48 | (B & 0xffff) << 32 | (G & 0xffff) << 16 | (R & 0xffff);
public static final Bitmap.Config RGB_565
Each pixel is stored on 2 bytes and only the RGB channels are encoded: red is stored with 5 bits of precision (32 possible values), green is stored with 6 bits of precision (64 possible values) and blue is stored with 5 bits of precision. This configuration can produce slight visual artifacts depending on the configuration of the source. For instance, without dithering, the result might show a greenish tint. To get better results dithering should be applied. This configuration may be useful when using opaque bitmaps that do not require high color fidelity.
Use this formula to pack into 16 bits:
short color = (R & 0x1f) << 11 | (G & 0x3f) << 5 | (B & 0x1f);
public static Bitmap.Config valueOf (String name)
Parameters | |
---|---|
name |
String |
Returns | |
---|---|
Bitmap.Config |