cImageLoader Class Reference
[Files]

cImageLoader provides a class to load images files into memory. The real work is deferred to specific files that know how to load specific image file types. More...

#include <CImageLoader.h>

List of all members.

Public Member Functions

 cImageLoader ()
 Default constructor of cImageLoader; doesn't load anything...
 cImageLoader (const char *filename)
 Default constructor of cImageLoader; loads the specified filename...
virtual ~cImageLoader ()
 Destructor of cImageLoader.
unsigned char * getData ()
 Get a pointer to the actual image data... use with care...
unsigned int getWidth ()
 Get width of image.
unsigned int getHeight ()
 Get height of image.
unsigned int getFormat ()
 Get the format (GL_RGB or GL_RGBA) of the image.
unsigned int getBitsPerPixel ()
 Get the number of bits per pixel used to store this image.
cColorb getPixelColor (const unsigned int a_x, const unsigned int a_y)
 Get the color of a pixel by passing its x and y coordinate.
void setPixelColor (const unsigned int a_x, const unsigned int a_y, const cColorb &a_color)
 Set the color of a pixel.
void clear (const cColorb &a_color)
 Clear an image with defined color.
void replace (const cColorb &a_oldColor, const cColorb &a_newColor)
 Replace a specific color in the image by a new one.
void allocate (const unsigned int a_width, const unsigned int a_height)
 Allocate a new image by defining its size.
unsigned int initialized ()
 Returns 1 if a file has been successfully loaded, 0 otherwise.
bool loadFromFile (const char *filename)
 Load image file by passing image path and name as argument.
bool loadFromFileOLE (const char *szPathName)
 For windows systems we can use the OLE loader if we don't have a native loaders.
const char * getFilename () const
 Get the filename from which this image was loaded.

Protected Member Functions

void defaults ()
 Initialize member variables.
void cleanup ()
 Delete memory and rid ourselves of any image we had previously stored.
void convertToRGBA ()
 All images are converted from their native format to RGBA by this class.

Protected Attributes

char m_filename [CHAI_SIZE_PATH]
 The last image filename that I loaded.
int m_width
 Width in pixels of the current image.
int m_height
 Height in pixels of the current image.
unsigned int m_format
 Either GL_RGB or GL_RGBA.
unsigned int m_bits_per_pixel
 Basically always 8...
unsigned char * m_data
 The image data itself.
bool m_initialized
 Have I actually loaded a valid image?


Detailed Description

cImageLoader provides a class to load images files into memory. The real work is deferred to specific files that know how to load specific image file types.

Constructor & Destructor Documentation

cImageLoader::cImageLoader (  ) 

Default constructor of cImageLoader; doesn't load anything...

Default constructor of cImageLoader

cImageLoader::cImageLoader ( const char *  a_filename  ) 

Default constructor of cImageLoader; loads the specified filename...

Constructor of cImageLoader; loads the specified file. Currently 24-bit .bmp and 32-bit .tga files are supported.

Use the initialized() function to determine whether loading was successful.

Parameters:
a_filename Image filename

cImageLoader::~cImageLoader (  )  [virtual]

Destructor of cImageLoader.

Destructor of cImageLoader


Member Function Documentation

void cImageLoader::allocate ( const unsigned int  a_width,
const unsigned int  a_height 
)

Allocate a new image by defining its size.

Allocate a new image by defining its size.

Parameters:
a_width Width of new image
a_height Height of new image

void cImageLoader::clear ( const cColorb a_color  ) 

Clear an image with defined color.

Clear an image with a defined color

Parameters:
a_color new color of the image

void cImageLoader::convertToRGBA (  )  [protected]

All images are converted from their native format to RGBA by this class.

Convert image to OpenGL-compatible RGBA format

void cImageLoader::defaults (  )  [protected]

Initialize member variables.

Initialize internal variables

Free memory that was used for image data, and re-initialize internal variables.

cColorb cImageLoader::getPixelColor ( const unsigned int  a_x,
const unsigned int  a_y 
)

Get the color of a pixel by passing its x and y coordinate.

Get the color of a pixel by passing its x and y coordinate

Parameters:
a_x X coordinate of the pixel
a_y Y coordinate of the pixel
Returns:
return the color of the pixel

bool cImageLoader::loadFromFile ( const char *  a_filename  ) 

Load image file by passing image path and name as argument.

Loads this image from the specified file. Returns 0 if all goes well, <0 for an error. Note that regardless of whether it succeeds, this over-writes any image that had previously been loaded by this object.

Always converts the resulting image to RGBA.

Parameters:
a_filename Image filename

bool cImageLoader::loadFromFileOLE ( const char *  szPathName  ) 

For windows systems we can use the OLE loader if we don't have a native loaders.

Load an Image file using windows loader.

Parameters:
szPathName filename

void cImageLoader::replace ( const cColorb a_oldColor,
const cColorb a_newColor 
)

Replace a specific color in the image by a new one.

Replace a specific color in the image by a new one

Parameters:
a_oldColor Old color to be replaced
a_newColor New color that shall replace the old one

void cImageLoader::setPixelColor ( const unsigned int  a_x,
const unsigned int  a_y,
const cColorb a_color 
)

Set the color of a pixel.

Set the color of a pixel

Parameters:
a_x X coordinate of the pixel
a_y Y coordinate of the pixel
a_color new color of the pixel


The documentation for this class was generated from the following files:


CHAI3D 2.0.0 documentation
Please address any questions to support@chai3d.org
(C) 2003-2009 - CHAI 3D
All Rights Reserved.