/*************************************************************************************************************************************/
/* */
/* D E M U L T I P L E X A G E ( 8 , 8 , 8 ) D ' U N E I M A G E */
/* E N V R A I E S C O U L E U R S ( R , V , B ) : */
/* */
/* */
/* Definition : */
/* */
/* Cette commande demultiplexe les trois */
/* composantes 'RVB'. */
/* */
/* */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * ** * * * * * ** * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * ** * * * * * ** */
/* * * * * * * * * * * * * * * * * * * * * * * */
/* */
/* */
/* ATTENTION : */
/* */
/* Il pourra etre necessaire de faire */
/* avant '$xci/RVB_load$X' un 'SwapB' si */
/* le fichier '$RVB' vient de '$CONVERT' */
/* car, en effet, 'v $xci/RVB_load$K' lit */
/* des images au format 'imageI' dont l'unite */
/* est donc de type 'Int', alors que '$CONVERT' */
/* ecrit les fichiers octets par octets, d'ou la */
/* necessite de la permutation par 'SwapB', soit */
/* */
/* $CONVERT --> SwapB --> $xci/RVB_load$X */
/* */
/* donc... */
/* */
/* */
/* Author of '$xci/RVB_load$K' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 20001102151437). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* I N T E R F A C E ' listG ' : */
/* */
/* */
/* :Debut_listG: */
/* :Fin_listG: */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F I C H I E R S D ' I N C L U D E S : */
/* */
/*************************************************************************************************************************************/
#include INCLUDES_BASE
#include image_image_QUAD_IMAGE_EXT
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
#define GENERER_UNE_IMAGE_EN_VRAIES_COULEURS \
VRAI \
/* Faut-il generer une image en vraies couleurs ('VRAI)' c'est-a-dire dont les trois */ \
/* composantes ont la meme racine, ou bien trois images "independantes" ('FAUX'). La */ \
/* valeur par defaut est choisie pour assurer la compatibilite anterieure... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
#include xci/vraies_C.01.I"
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E M U L T I P L E X A G E ( 8 , 8 , 8 ) D ' U N E I M A G E */
/* E N V R A I E S C O U L E U R S ( R , V , B ) : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE));
/* Nom de l'image au format "RVB" a utiliser. */
DEFV(CHAR,INIC(POINTERc(nom_imagesR),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
/* Nom de la racine d'une image en vraies couleurs. */
DEFV(CHAR,INIC(POINTERc(nom_imageRR),NOM_PIPE));
/* Nom de l'image ROUGE a generer, */
DEFV(CHAR,INIC(POINTERc(nom_imageRV),NOM_PIPE));
/* Nom de l'image VERTE a generer, */
DEFV(CHAR,INIC(POINTERc(nom_imageRB),NOM_PIPE));
/* Nom de l'image BLEUE a generer. */
DEFV(Logical,INIT(generer_une_image_en_vraies_couleurs,GENERER_UNE_IMAGE_EN_VRAIES_COULEURS));
/* Faut-il generer une image en vraies couleurs ('VRAI)' c'est-a-dire dont les trois */
/* composantes ont la meme racine, ou bien trois images "independantes" ('FAUX'). La */
/* valeur par defaut est choisie pour assurer la compatibilite anterieure... */
/*..............................................................................................................................*/
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
GET_ARGUMENT_C("imageR=""R=",nom_imageR);
GET_ARGUMENT_C("Rouge=""RR=""ROUGE=",nom_imageRR);
GET_ARGUMENT_C("Verte=""VERTE=""RV=",nom_imageRV);
GET_ARGUMENT_C("RB=""Bleue=""BLEUE=",nom_imageRB);
GET_ARGUMENT_L("RVB=",generer_une_image_en_vraies_couleurs);
)
);
begin_nouveau_block
Bblock
BDEFV(imageUB,image_a_demultiplexer);
/* Image a demultiplexer. */
Test(PAS_D_ERREUR(CODE_ERROR(IloadUB_image(image_a_demultiplexer,nom_imageA))))
Bblock
CALS(Idemultiplexage_888_RVB(Image_ROUGE,Image_VERTE,Image_BLEUE
,image_a_demultiplexer
)
);
/* Demultiplexage... */
GENERATION_D_UNE_COMPOSANTE(nom_imageRR,c_ROUGE,Image_ROUGE);
GENERATION_D_UNE_COMPOSANTE(nom_imageRV,c_VERTE,Image_VERTE);
GENERATION_D_UNE_COMPOSANTE(nom_imageRB,c_BLEUE,Image_BLEUE);
Eblock
ATes
Bblock
PRINT_ERREUR("le fichier recupere n'existe pas ou est d'un format incorrect");
Eblock
ETes
EDEFV(imageUB,image_a_demultiplexer);
/* Image a demultiplexer. */
Eblock
end_nouveau_block
RETU_Commande;
Eblock
ECommande