op_c.c File Reference

#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <math.h>
#include "op_c.h"
#include "erreurs.h"

Functions

void RGBtoHSL (int r, int g, int b, byte *hr, byte *sr, byte *lr)
void HSLtoRGB (byte H, byte S, byte L, byte *R, byte *G, byte *B)
Table_conversionTC_New (int nbb_r, int nbb_v, int nbb_b)
void TC_Delete (Table_conversion *t)
byte TC_Get (Table_conversion *t, int r, int v, int b)
void TC_Set (Table_conversion *t, int r, int v, int b, byte i)
void TO_Init (Table_occurence *t)
Table_occurenceTO_New (int nbb_r, int nbb_v, int nbb_b)
void TO_Delete (Table_occurence *t)
int TO_Get (Table_occurence *t, int r, int v, int b)
void TO_Set (Table_occurence *t, int r, int v, int b, int i)
void TO_Inc (Table_occurence *t, int r, int v, int b)
void TO_Compter_occurences (Table_occurence *t, Bitmap24B image, int taille)
int TO_Compter_couleurs (Table_occurence *t)
void Cluster_Analyser (Cluster *c, Table_occurence *to)
void Cluster_Split (Cluster *c, Cluster *c1, Cluster *c2, int teinte, Table_occurence *to)
void Cluster_Calculer_teinte (Cluster *c, Table_occurence *to)
void CS_Init (ClusterSet *cs, Table_occurence *to)
ClusterSetCS_New (int nbmax, Table_occurence *to)
void CS_Delete (ClusterSet *cs)
void CS_Get (ClusterSet *cs, Cluster *c)
void CS_Set (ClusterSet *cs, Cluster *c)
void CS_Generer (ClusterSet *cs, Table_occurence *to)
void CS_Calculer_teintes (ClusterSet *cs, Table_occurence *to)
void CS_Trier_par_chrominance (ClusterSet *cs)
void CS_Trier_par_luminance (ClusterSet *cs)
void CS_Generer_TC_et_Palette (ClusterSet *cs, Table_conversion *tc, struct Composantes *palette)
void DS_Init (DegradeSet *ds, ClusterSet *cs)
DegradeSetDS_New (ClusterSet *cs)
void DS_Delete (DegradeSet *ds)
void DS_Generer (DegradeSet *ds, ClusterSet *cs)
Table_conversionOptimiser_palette (Bitmap24B image, int taille, struct Composantes *palette, int r, int v, int b)
int Valeur_modifiee (int valeur, int modif)
void Convert_bitmap_24B_to_256_Floyd_Steinberg (Bitmap256 Dest, Bitmap24B Source, int largeur, int hauteur, struct Composantes *palette, Table_conversion *tc)
int Convert_bitmap_24B_to_256 (Bitmap256 Dest, Bitmap24B Source, int largeur, int hauteur, struct Composantes *palette)

Variables

static const byte precision_24b []

Function Documentation

void RGBtoHSL ( int  r,
int  g,
int  b,
byte hr,
byte sr,
byte lr 
)

void HSLtoRGB ( byte  H,
byte  S,
byte  L,
byte R,
byte G,
byte B 
)

Referenced by Bouton_Palette(), and Modifier_HSL().

Table_conversion* TC_New ( int  nbb_r,
int  nbb_v,
int  nbb_b 
)

void TC_Delete ( Table_conversion t  ) 

byte TC_Get ( Table_conversion t,
int  r,
int  v,
int  b 
)

void TC_Set ( Table_conversion t,
int  r,
int  v,
int  b,
byte  i 
)

void TO_Init ( Table_occurence t  ) 

Table_occurence* TO_New ( int  nbb_r,
int  nbb_v,
int  nbb_b 
)

void TO_Delete ( Table_occurence t  ) 

References Table_occurence::table.

Referenced by Optimiser_palette().

int TO_Get ( Table_occurence t,
int  r,
int  v,
int  b 
)

void TO_Set ( Table_occurence t,
int  r,
int  v,
int  b,
int  i 
)

void TO_Inc ( Table_occurence t,
int  r,
int  v,
int  b 
)

void TO_Compter_occurences ( Table_occurence t,
Bitmap24B  image,
int  taille 
)

References TO_Inc().

Referenced by Optimiser_palette().

int TO_Compter_couleurs ( Table_occurence t  ) 

void Cluster_Analyser ( Cluster c,
Table_occurence to 
)

void Cluster_Split ( Cluster c,
Cluster c1,
Cluster c2,
int  teinte,
Table_occurence to 
)

void Cluster_Calculer_teinte ( Cluster c,
Table_occurence to 
)

void CS_Init ( ClusterSet cs,
Table_occurence to 
)

ClusterSet* CS_New ( int  nbmax,
Table_occurence to 
)

void CS_Delete ( ClusterSet cs  ) 

References ClusterSet::clusters.

Referenced by Optimiser_palette().

void CS_Get ( ClusterSet cs,
Cluster c 
)

void CS_Set ( ClusterSet cs,
Cluster c 
)

void CS_Generer ( ClusterSet cs,
Table_occurence to 
)

void CS_Calculer_teintes ( ClusterSet cs,
Table_occurence to 
)

void CS_Trier_par_chrominance ( ClusterSet cs  ) 

void CS_Trier_par_luminance ( ClusterSet cs  ) 

void CS_Generer_TC_et_Palette ( ClusterSet cs,
Table_conversion tc,
struct Composantes *  palette 
)

void DS_Init ( DegradeSet ds,
ClusterSet cs 
)

DegradeSet* DS_New ( ClusterSet cs  ) 

void DS_Delete ( DegradeSet ds  ) 

References DegradeSet::degrades.

Referenced by Optimiser_palette().

void DS_Generer ( DegradeSet ds,
ClusterSet cs 
)

Table_conversion* Optimiser_palette ( Bitmap24B  image,
int  taille,
struct Composantes *  palette,
int  r,
int  v,
int  b 
)

int Valeur_modifiee ( int  valeur,
int  modif 
)

void Convert_bitmap_24B_to_256_Floyd_Steinberg ( Bitmap256  Dest,
Bitmap24B  Source,
int  largeur,
int  hauteur,
struct Composantes *  palette,
Table_conversion tc 
)

References TC_Get(), and Valeur_modifiee().

Referenced by Convert_bitmap_24B_to_256().

int Convert_bitmap_24B_to_256 ( Bitmap256  Dest,
Bitmap24B  Source,
int  largeur,
int  hauteur,
struct Composantes *  palette 
)


Variable Documentation

const byte precision_24b[] [static]

Initial value:

{
 8,8,8,
 6,6,6,
 6,6,5,
 5,6,5,
 5,5,5,
 5,5,4,
 4,5,4,
 4,4,4,
 4,4,3,
 3,4,3,
 3,3,3,
 3,3,2}

Referenced by Convert_bitmap_24B_to_256().


Generated on Sat Mar 7 22:45:16 2009 for GrafX2 by  doxygen 1.5.8