wxImage: A Platform Independent Image Class Library

Alejandro Aguilar-Sierra

You can display and stretch out images and read/write them from several
image file formats. The "favorite" formats will be JPEG and PNG, but
code are provided to manage BMP and GIF. Also, a wxImage object can be
constructed from a wxBitmap object.


Main features
=============

1. Display grayscaled, paletted and fullcolor images on a wxDC.

2. Easy bitmap manipulations regardless the platform.
   You don't access directly the image memory, instead
   use portable member functions. It is possible to sweep over
   an image efficiently using iterators.

3. High performance because it uses an internal system dependent format.

4. Gamma correction (jpeg & png) and alpha channel (png).


Classes
-------

wbImage		Basic methods for managing images. It is the only
		unportable class because it defines the internal format.

wxImage		Provides file management for all the file formats
		supported. It could use external portable libraries
		like libjpeg and libpng.

imaIter		The basic iterator. 

wxImaIter	More complex iterators.


Applications
------------

This library provides a basis for

o Digital Image Processing

o Warping/Morphing

o Raytracing, radiosity.

o Animation, games.

o And more... !


Status 
======

Third alpha version.

To get a real beta, still is needed:

o X version (would you like to help? :-)

  wbImage should be based on a simplified version of
  Julian Smart's wxImage.
  
o Good documentation.

			     
Bugs & technical problems
------------------------
	    
o Better integration into wxWidows.

o DIB orientation problem under Win16.


wxWindows dependences
---------------------

At this stage an image can be displayed only on a CanvasDC, but
when this stuff gets more stable and gets part of the wxWindows
distribution, it will support the other DC's (PS, printer, etc), since
Draw and Stretch will be methods of wxDC class.

The internal formats are defined to be compatible with the display
system (X or Windows). If your application don't need this to display
the image, you can derive a class from the abstract class ImaBase.
With wbImage all the palette operations are managed using wxColourMap,
but you could change this in your new derived class, and then all the
other classes could derive from your class.




Please let me know your suggestions, comments etc.

--
Alejandro Aguilar-Sierra
asierra@servidor.unam.mx
