/******************************************************************************
*
*
*
******************************************************************************/
#ifndef __IMAGE
#define __IMAGE
/******************************************************************************/
#define OCTET1 1
#define OCTET2 2
#define OCTET4 4
#define OCTET8 8
#define TAILLE_TEXTE 20
#define BLANC 255
#define NOIR 0
#define NBCOULEUR 256
/******************************************************************************/
template <class T> class IMAGE
{
private:
// Donnees privees
public :
// Donnees publics
char *Texte;
T *Data;
T ***Image;
int Type;
int NbPlan;
int DimX,DimY;
// privat‰e:
public:
// Allocateur
int AllocIMAGE(IMAGE *, int, int, int);
// Liberateur
int FreeIMAGE(IMAGE *);
// Ima -> Bmp
// int Ima2Bmp(IMAGE *, char *);
// Bmp -> Ima
// int Bmp2Ima(char *, IMAGE *);
// Ima -> Ima
// int Ima2Ima(char *, IMAGE *);
public:
// Constructeur
IMAGE (int, int, int, char *);
// Constructeur
IMAGE (void);
// Destructeur
~IMAGE (void);
// Operateur de copie
IMAGE (IMAGE &);
// Operateur d'affectation * <- BYTE
IMAGE & operator = (IMAGE<BYTE> &);
// Operateur d'affectation * <- int
IMAGE & operator = (IMAGE<int> &);
// Chargement d'un BMP
IMAGE *LoadImage(char *);
// Sauvegarde d'un BMP
int SaveImage(char *);
// Equilibre les niveaux de gris
int ComputeImage(T);
// Print Image
int PrintImage(void);
// Print Image X11
int PrintImageX11(void);
};
/******************************************************************************/
#endif