/*************************************************************************************************************************************/ /* */ /* 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