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)


void * CxImage::pDib
uint8_t * CxImage::pSelection
uint8_t * CxImage::pAlpha
CxImage ** CxImage::ppLayers
CxImage ** CxImage::ppFrames

Detailed Description

Function Documentation

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.

***bd*** 2.2004

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.

***bd*** 2.2004

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
pointer to first byte of pixel data
***bd*** 2.2004

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,
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]

lightness difference between elem1 and elem2

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

Variable Documentation

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]

Generated on Fri Jan 7 21:44:32 2011 for CxImage by  doxygen 1.5.4