Functions | |
uint8_t | CxImage::BlindGetPixelIndex (const int32_t x, const int32_t y) |
RGBQUAD | CxImage::BlindGetPixelColor (const int32_t x, const int32_t y, bool bGetAlpha=true) |
void * | CxImage::BlindGetPixelPointer (const int32_t x, const int32_t y) |
void | CxImage::BlindSetPixelColor (int32_t x, int32_t y, RGBQUAD c, bool bSetAlpha=false) |
void | CxImage::BlindSetPixelIndex (int32_t x, int32_t y, uint8_t i) |
void | CxImage::AddAveragingCont (RGBQUAD const &color, float const surf, float &rr, float &gg, float &bb, float &aa) |
bool | CxImage::EncodeSafeCheck (CxFile *hFile) |
bool | CxImage::IsPowerof2 (int32_t x) |
bool | CxImage::FFT (int32_t dir, int32_t m, double *x, double *y) |
bool | CxImage::DFT (int32_t dir, int32_t m, double *x1, double *y1, double *x2, double *y2) |
bool | CxImage::RepairChannel (CxImage *ch, float radius) |
int32_t | CxImage::gen_convolve_matrix (float radius, float **cmatrix_p) |
float * | CxImage::gen_lookup_table (float *cmatrix, int32_t cmatrix_length) |
void | CxImage::blur_line (float *ctable, float *cmatrix, int32_t cmatrix_length, uint8_t *cur_col, uint8_t *dest_col, int32_t y, int32_t bytes) |
void | CxImage::blur_text (uint8_t threshold, uint8_t decay, uint8_t max_depth, CxImage *iSrc, CxImage *iDst, uint8_t bytes) |
bool | CxImage::BlindSelectionIsInside (int32_t x, int32_t y) |
uint8_t | CxImage::BlindSelectionGet (const int32_t x, const int32_t y) |
void | CxImage::SelectionSet (const int32_t x, const int32_t y, const uint8_t level) |
uint8_t | CxImage::BlindAlphaGet (const int32_t x, const int32_t y) |
void | CxImage::Startup (uint32_t imagetype=0) |
void | CxImage::CopyInfo (const CxImage &src) |
void | CxImage::Ghost (const CxImage *src) |
void | CxImage::RGBtoBGR (uint8_t *buffer, int32_t length) |
static float | CxImage::HueToRGB (float n1, float n2, float hue) |
void | CxImage::Bitfield2RGB (uint8_t *src, uint32_t redmask, uint32_t greenmask, uint32_t bluemask, uint8_t bpp) |
static int32_t | CxImage::CompareColors (const void *elem1, const void *elem2) |
int16_t | CxImage::m_ntohs (const int16_t word) |
int32_t | CxImage::m_ntohl (const int32_t dword) |
void | CxImage::bihtoh (BITMAPINFOHEADER *bih) |
Variables | |
void * | CxImage::pDib |
BITMAPINFOHEADER | CxImage::head |
CXIMAGEINFO | CxImage::info |
uint8_t * | CxImage::pSelection |
uint8_t * | CxImage::pAlpha |
CxImage ** | CxImage::ppLayers |
CxImage ** | CxImage::ppFrames |
void CxImage::AddAveragingCont | ( | RGBQUAD const & | color, | |
float const | surf, | |||
float & | rr, | |||
float & | gg, | |||
float & | bb, | |||
float & | aa | |||
) | [protected, inherited] |
Helper function for GetAreaColorInterpolated. Adds 'surf' portion of image pixel with color 'color' to (rr,gg,bb,aa).
void CxImage::bihtoh | ( | BITMAPINFOHEADER * | bih | ) | [protected, inherited] |
void CxImage::Bitfield2RGB | ( | uint8_t * | src, | |
uint32_t | redmask, | |||
uint32_t | greenmask, | |||
uint32_t | bluemask, | |||
uint8_t | bpp | |||
) | [protected, inherited] |
turns a 16 or 32 bit bitfield image into a RGB image
uint8_t CxImage::BlindAlphaGet | ( | const int32_t | x, | |
const int32_t | y | |||
) | [protected, inherited] |
Get alpha value without boundscheck (a bit faster). Pixel must be inside the image.
RGBQUAD CxImage::BlindGetPixelColor | ( | const int32_t | x, | |
const int32_t | y, | |||
bool | bGetAlpha = true | |||
) | [protected, inherited] |
This is (a bit) faster version of GetPixelColor. It tests bounds only in debug mode (_DEBUG defined).
It is an error to request out-of-borders pixel with this method. In DEBUG mode an exception will be thrown, and data will be violated in non-DEBUG mode.
uint8_t CxImage::BlindGetPixelIndex | ( | const int32_t | x, | |
const int32_t | y | |||
) | [protected, inherited] |
void * CxImage::BlindGetPixelPointer | ( | const int32_t | x, | |
const int32_t | y | |||
) | [protected, inherited] |
Returns pointer to pixel. Currently implemented only for truecolor images.
x,y | - coordinates |
uint8_t CxImage::BlindSelectionGet | ( | const int32_t | x, | |
const int32_t | y | |||
) | [protected, inherited] |
Gets the Selection level for a single pixel "blind" version assumes that (x,y) is inside to the image.
bool CxImage::BlindSelectionIsInside | ( | int32_t | x, | |
int32_t | y | |||
) | [protected, inherited] |
Checks if the coordinates are inside the selection. "blind" version assumes that (x,y) is inside to the image.
void CxImage::BlindSetPixelColor | ( | int32_t | x, | |
int32_t | y, | |||
RGBQUAD | c, | |||
bool | bSetAlpha = false | |||
) | [protected, inherited] |
void CxImage::BlindSetPixelIndex | ( | int32_t | x, | |
int32_t | y, | |||
uint8_t | i | |||
) | [protected, inherited] |
void CxImage::blur_line | ( | float * | ctable, | |
float * | cmatrix, | |||
int32_t | cmatrix_length, | |||
uint8_t * | cur_col, | |||
uint8_t * | dest_col, | |||
int32_t | y, | |||
int32_t | bytes | |||
) | [protected, inherited] |
this function is written as if it is blurring a column at a time, even though it can operate on rows, too. There is no difference in the processing of the lines, at least to the blur_line function.
void CxImage::blur_text | ( | uint8_t | threshold, | |
uint8_t | decay, | |||
uint8_t | max_depth, | |||
CxImage * | iSrc, | |||
CxImage * | iDst, | |||
uint8_t | bytes | |||
) | [protected, inherited] |
int32_t CxImage::CompareColors | ( | const void * | elem1, | |
const void * | elem2 | |||
) | [static, protected, inherited] |
void CxImage::CopyInfo | ( | const CxImage & | src | ) | [protected, inherited] |
Copies the image attributes from an existing image.
bool CxImage::DFT | ( | int32_t | dir, | |
int32_t | m, | |||
double * | x1, | |||
double * | y1, | |||
double * | x2, | |||
double * | y2 | |||
) | [protected, inherited] |
Direct fourier transform o(n)=n^2 Written by Paul Bourke, July 1998
bool CxImage::EncodeSafeCheck | ( | CxFile * | hFile | ) | [protected, inherited] |
bool CxImage::FFT | ( | int32_t | dir, | |
int32_t | m, | |||
double * | x, | |||
double * | y | |||
) | [protected, inherited] |
This computes an in-place complex-to-complex FFT x and y are the real and imaginary arrays of n=2^m points. o(n)=n*log2(n) dir = 1 gives forward transform dir = -1 gives reverse transform Written by Paul Bourke, July 1998 FFT algorithm by Cooley and Tukey, 1965
int32_t CxImage::gen_convolve_matrix | ( | float | radius, | |
float ** | cmatrix_p | |||
) | [protected, inherited] |
generates a 1-D convolution matrix to be used for each pass of a two-pass gaussian blur. Returns the length of the matrix.
float * CxImage::gen_lookup_table | ( | float * | cmatrix, | |
int32_t | cmatrix_length | |||
) | [protected, inherited] |
generates a lookup table for every possible product of 0-255 and each value in the convolution matrix. The returned array is indexed first by matrix position, then by input multiplicand (?) value.
void CxImage::Ghost | ( | const CxImage * | from | ) | [protected, inherited] |
(this) points to the same pDib owned by (*from), the image remains in (*from) but (this) has the access to the pixels. Use carefully !!!
float CxImage::HueToRGB | ( | float | n1, | |
float | n2, | |||
float | hue | |||
) | [static, protected, inherited] |
bool CxImage::IsPowerof2 | ( | int32_t | x | ) | [protected, inherited] |
int32_t CxImage::m_ntohl | ( | const int32_t | dword | ) | [protected, inherited] |
int16_t CxImage::m_ntohs | ( | const int16_t | word | ) | [protected, inherited] |
bool CxImage::RepairChannel | ( | CxImage * | ch, | |
float | radius | |||
) | [protected, inherited] |
void CxImage::RGBtoBGR | ( | uint8_t * | buffer, | |
int32_t | length | |||
) | [protected, inherited] |
swaps the blue and red components (for RGB images)
buffer | : pointer to the pixels | |
length | : number of bytes to swap. lenght may not exceed the scan line. |
void CxImage::SelectionSet | ( | const int32_t | x, | |
const int32_t | y, | |||
const uint8_t | level | |||
) | [protected, inherited] |
Sets the Selection level for a single pixel internal use only: doesn't set SelectionBox. Use SelectionAddPixel
void CxImage::Startup | ( | uint32_t | imagetype = 0 |
) | [protected, inherited] |
Initialize the internal structures
BITMAPINFOHEADER CxImage::head [protected, inherited] |
CXIMAGEINFO CxImage::info [protected, inherited] |
uint8_t* CxImage::pAlpha [protected, inherited] |
void* CxImage::pDib [protected, inherited] |
CxImage** CxImage::ppFrames [protected, inherited] |
CxImage** CxImage::ppLayers [protected, inherited] |
uint8_t* CxImage::pSelection [protected, inherited] |