IM: _imImage Struct Reference

IM - An Imaging Tool

_imImage Struct Reference
[imImage]


Detailed Description

An image representation than supports all the color spaces, but planes are always unpacked and the orientation is always bottom up.


Data Fields

int width
int height
int color_space
int data_type
int has_alpha
int depth
int line_size
int plane_size
int size
int count
void ** data
long * palette
int palette_count
void * attrib_table

Field Documentation

int _imImage::width
 

Number of columns. image:Width() -> width: number [in Lua 5].

int _imImage::height
 

Number of lines. image:Height() -> height: number [in Lua 5].

int _imImage::color_space
 

Color space descriptor. See also imColorSpace. image:ColorSpace() -> color_space: number [in Lua 5].

int _imImage::data_type
 

Data type descriptor. See also imDataType. image:DataType() -> data_type: number [in Lua 5].

int _imImage::has_alpha
 

Indicates that there is an extra channel with alpha. image:HasAlpha() -> has_alpha: number [in Lua 5].
It will not affect the secondary parameters, i.e. the number of planes will be in fact depth+1.
It is always 0 unless imImageAddAlpha is called, this is done in image load functions.

int _imImage::depth
 

Number of planes (ColorSpaceDepth)

int _imImage::line_size
 

Number of bytes per line in one plane (width * DataTypeSize)

int _imImage::plane_size
 

Number of bytes per plane. (line_size * height)

int _imImage::size
 

Number of bytes occupied by the image (plane_size * depth)

int _imImage::count
 

Number of pixels (width * height)

void** _imImage::data
 

Image data organized as a 2D matrix with several planes.
But plane 0 is also a pointer to the full data.
The remaining planes are: data[i] = data[0] + i*plane_size
In Lua, indexing is possible using: image[plane][row][column]

long* _imImage::palette
 

Color palette. image:GetPalette() -> palette: imPalette [in Lua 5].
Used when depth=1. Otherwise is NULL.

int _imImage::palette_count
 

The palette is always 256 colors allocated, but can have less colors used.

void* _imImage::attrib_table
 

in fact is an imAttribTable, but we hide this here


The documentation for this struct was generated from the following file: