- Main Page
- Modules
- Classes
- Files

# Protected

## 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

## 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.

Author:
  ***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.

Author:
  ***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.

Parameters:

  | x,y | - coordinates

Returns:
  pointer to first byte of pixel data

Author:
  ***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,
|  | 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.

Author:
  [nipper]

void CxImage::blur_text | ( | uint8_t | threshold,
|  | uint8_t | decay,
|  | uint8_t | max_depth,
|  | CxImage * | iSrc,
|  | CxImage * | iDst,
|  | uint8_t | bytes |
| ) |  |  | `[protected, inherited]`

Author:
  [DP]

int32_t CxImage::CompareColors | ( | const void * | elem1,
|  | const void * | elem2 |
| ) |  |  | `[static, protected, inherited]`

Returns:
  lightness difference between elem1 and elem2

void CxImage::CopyInfo | ( | const CxImage & | src | ) | `[protected, inherited]`

Copies the image attributes from an existing image.

- Works only on an empty image, and the image will be still empty.
- Use it before Create()

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.

Author:
  [nipper]

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.

Author:
  [nipper]

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)

Parameters:

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