![]() |
Enumerations | |
enum | imComplex2Real { IM_CPX_REAL, IM_CPX_IMAG, IM_CPX_MAG, IM_CPX_PHASE } |
enum | imGammaFactor { IM_GAMMA_LINEAR = 0, IM_GAMMA_LOGLITE = -10, IM_GAMMA_LOGHEAVY = -1000, IM_GAMMA_EXPLITE = 2, IM_GAMMA_EXPHEAVY = 7 } |
enum | imCastMode { IM_CAST_MINMAX, IM_CAST_FIXED, IM_CAST_DIRECT } |
Functions | |
int | imConvertDataType (const imImage *src_image, imImage *dst_image, int cpx2real, float gamma, int abssolute, int cast_mode) |
int | imConvertColorSpace (const imImage *src_image, imImage *dst_image) |
int | imConvertToBitmap (const imImage *src_image, imImage *dst_image, int cpx2real, float gamma, int abssolute, int cast_mode) |
void * | imImageGetOpenGLData (const imImage *image, int *glformat) |
enum imComplex2Real |
enum imGammaFactor |
Predefined Gamma factors. Gamma can be any real number. When gamma<0 use logarithmic, when gamma>0 use exponential. gamma(x,g) = ((e^(g*x))-1)/(exp(g)-1) gamma(x,g) = (log((g*x)+1))/(log(g+1))
enum imCastMode |
Predefined Cast Modes
IM_CAST_MINMAX |
scan for min and max values |
IM_CAST_FIXED |
use predefied 0-max values, see Color Manipulation Color Manipulation. |
IM_CAST_DIRECT |
direct type cast the value. Only byte and ushort will be cropped. |
00053 { 00054 IM_CAST_MINMAX, /**< scan for min and max values */ 00055 IM_CAST_FIXED, /**< use predefied 0-max values, see \ref color Color Manipulation. */ 00056 IM_CAST_DIRECT /**< direct type cast the value. Only byte and ushort will be cropped. */ 00057 };
int imConvertDataType | ( | const imImage * | src_image, | |
imImage * | dst_image, | |||
int | cpx2real, | |||
float | gamma, | |||
int | abssolute, | |||
int | cast_mode | |||
) |
Changes the image data type, using a complex2real conversion, a gamma factor, and an abssolute mode (modulus).
When demoting the data type the function will scan for min/max values or use fixed values (cast_mode) to scale the result according to the destiny range.
Except complex to real that will use only the complex2real conversion.
Images must be of the same size and color mode.
Returns IM_ERR_NONE, IM_ERR_DATA or IM_ERR_COUNTER, see also imErrorCodes. See also imComplex2Real, imGammaFactor and imCastMode.
im.ConvertDataType(src_image: imImage, dst_image: imImage, cpx2real: number, gamma: number, abssolute: boolean, cast_mode: number) -> error: number [in Lua 5]
im.ConvertDataTypeNew(image: imImage, data_type: number, cpx2real: number, gamma: number, abssolute: boolean, cast_mode: number) -> error: number, new_image: imImage [in Lua 5]
Converts one color space to another. Images must be of the same size and data type.
CMYK can be converted to RGB only, and it is a very simple conversion.
All colors can be converted to Binary, the non zero gray values are converted to 1.
RGB to Map uses the median cut implementation from the free IJG JPEG software, copyright Thomas G. Lane.
Alpha channel is considered and Transparency* attributes are converted to alpha channel.
All other color space conversions assume sRGB and CIE definitions.
Returns IM_ERR_NONE, IM_ERR_DATA or IM_ERR_COUNTER, see also imErrorCodes.
im.ConvertColorSpace(src_image: imImage, dst_image: imImage) -> error: number [in Lua 5]
im.ConvertColorSpaceNew(image: imImage, color_space: number, has_alpha: boolean) -> error: number, new_image: imImage [in Lua 5]
int imConvertToBitmap | ( | const imImage * | src_image, | |
imImage * | dst_image, | |||
int | cpx2real, | |||
float | gamma, | |||
int | abssolute, | |||
int | cast_mode | |||
) |
Converts the image to its bitmap equivalent, uses imConvertColorSpace and imConvertDataType.
Returns IM_ERR_NONE, IM_ERR_DATA or IM_ERR_COUNTER, see also imErrorCodes. See also imComplex2Real, imGammaFactor and imCastMode.
The function im.ConvertToBitmapNew uses the default convertion result from imColorModeToBitmap if color_space is nil.
im.ConvertToBitmap(src_image: imImage, dst_image: imImage, cpx2real: number, gamma: number, abssolute: boolean, cast_mode: number) -> error: number [in Lua 5]
im.ConvertToBitmapNew(image: imImage, color_space: number, has_alpha: boolean, cpx2real: number, gamma: number, abssolute: boolean, cast_mode: number) -> error: number, new_image: imImage [in Lua 5]
void* imImageGetOpenGLData | ( | const imImage * | image, | |
int * | glformat | |||
) |
Returns an OpenGL compatible data buffer. Also returns the correspondant pixel format.
The memory allocated is stored in the attribute "GLDATA" with BYTE type. And it will exists while the image exists.
It can be cleared by setting the attribute to NULL.
MAP images are converted to RGB, and BINARY images are converted to GRAY. Alpha channel is considered and Transparency* attributes are converted to alpha channel. So calculate depth from glformat, not from image depth.
image:GetOpenGLData() -> gldata: userdata, glformat: number [in Lua 5]