Struct lodepng::ffi::ColorMode
[-]
[+]
[src]
pub struct ColorMode {
pub colortype: ColorType,
pub bitdepth: c_uint,
pub palette: *const RGBA,
pub palettesize: size_t,
// some fields omitted
}Color mode of an image. Contains all information required to decode the pixel bits to RGBA colors. This information is the same as used in the PNG file format, and is used both for PNG and raw image data in LodePNG.
Fields
Methods
impl ColorMode
fn new() -> ColorMode
fn palette_clear(&mut self)
fn palette_add(&mut self, r: c_uchar, g: c_uchar, b: c_uchar, a: c_uchar) -> Option<Error>
add 1 color to the palette
fn bpp(&self) -> c_uint
get the total amount of bits per pixel, based on colortype and bitdepth in the struct
fn channels(&self) -> c_uint
get the amount of color channels used, based on colortype in the struct. If a palette is used, it counts as 1 channel.
fn is_greyscale_type(&self) -> bool
is it a greyscale type? (only colortype 0 or 4)
fn is_alpha_type(&self) -> bool
has it got an alpha channel? (only colortype 2 or 6)
fn is_palette_type(&self) -> bool
has it got a palette? (only colortype 3)
fn has_palette_alpha(&self) -> bool
only returns true if there is a palette and there is a value in the palette with alpha < 255. Loops through the palette to check this.
fn can_have_alpha(&self) -> bool
Check if the given color info indicates the possibility of having non-opaque pixels in the PNG image. Returns true if the image can have translucent or invisible pixels (it still be opaque if it doesn't use such pixels). Returns false if the image can only have opaque pixels. In detail, it returns true only if it's a color type with alpha, or has a palette with non-opaque values, or if "key_defined" is true.
fn raw_size(&self, w: c_uint, h: c_uint) -> usize
Returns the byte size of a raw image buffer with given width, height and color mode