/*************************************************************************************************************************************/ /* */ /* R A N G E M E N T D ' U N E I M A G E V R A I E S C O U L E U R S A U F O R M A T ' SGI ' : */ /* */ /* */ /* Definition : */ /* */ /* Cette commande calcule une image */ /* au format 'Silicon Graphics' dit "SGI" */ /* a partir des trois composantes 'RVB'. */ /* */ /* */ /* Author of '$xci/SGI_store$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1993??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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_CONTOURS_EXT #include image_image_ALPHABET_0_EXT #include image_image_ALPHABET_1_EXT #include image_image_ALPHABET_2_EXT /* L'include de 'image_image_ALPHABET_3_DEF' a ete supprime le 20110502094752... */ #include image_image_ALPHABET_3_EXT #include image_image_ALPHABET_4_EXT /* Introduit le 20161116111201... */ #include image_image_ALPHABET_5_EXT /* Introduit le 20230516182726... */ #include image_image_ALPHABET_6_EXT /* Introduit le 20240419175731... */ #include image_image_ALPHABETS_EXT #ifdef __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS # include image_drive_SiliG_FONCTION_2_EXT #Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS #Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #define RECUPERER_UNE_IMAGE_EN_VRAIES_COULEURS \ FAUX \ /* Faut-il recuperer 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... */ #define SIGNER \ FAUX \ /* Indique s'il faut signer ('VRAI') ou pas ('FAUX') l'image... */ #include xci/signature.01.I" /* Caracteristiques de la signature... */ #define SIGNER_AVEC_UNE_ESTAMPILLE \ VRAI \ /* Indique s'il faut signer avec une estampille ('VRAI') ou avec la signature ('FAUX'). */ #define LISIBLE \ VRAI \ /* Indique si l'estampille est minuscule ('FAUX') ou bien doit rester lisible ('VRAI'). */ #define ABSCISSE_DE_LA_SIGNATURE \ GRO2(INTER_POINT) \ /* Abscisse de la signature dans 'ImageR' (qui occupe un rectangle 11x5). */ #define ORDONNEE_DE_LA_SIGNATURE \ GRO2(INTER_POINT) \ /* Ordonnee de la signature dans 'ImageR' (qui occupe un rectangle 11x5). */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ #include xci/signature.02.I" #include xci/signature.11.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* R A N G E M E N T D ' U N E I M A G E V R A I E S C O U L E U R S A U F O R M A T ' SGI ' : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE)); /* Nom de l'image a generer au format "SGI". */ DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE)); /* Nom de la racine d'une image en vraies couleurs. */ DEFV(CHAR,INIC(POINTERc(nom_imageAR),NOM_PIPE)); /* Nom de l'image ROUGE a utiliser, */ DEFV(CHAR,INIC(POINTERc(nom_imageAV),NOM_PIPE)); /* Nom de l'image VERTE a utiliser, */ DEFV(CHAR,INIC(POINTERc(nom_imageAB),NOM_PIPE)); /* Nom de l'image BLEUE a utiliser. */ DEFV(Logical,INIT(recuperer_une_image_en_vraies_couleurs,RECUPERER_UNE_IMAGE_EN_VRAIES_COULEURS)); /* Faut-il recuperer 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... */ #include xci/signature.03.I" DEFV(Logical,INIT(signer_avec_une_estampille,SIGNER_AVEC_UNE_ESTAMPILLE)); /* Indique s'il faut signer avec une estampille ('VRAI') ou avec la signature ('FAUX'). */ DEFV(Logical,INIT(lisible,LISIBLE)); /* Indique si l'estampille est minuscule ('FAUX') ou bien doit rester lisible ('VRAI'). */ DEFV(pointI_2D,emplacement_normalise_de_la_signature_invisible); DEFV(pointF_2D,emplacement_de_la_signature_invisible); /* Donne le coin "bas-gauche" de l'estampille lorsqu'elle est demandee. Ces donnees sont */ /* normalisees telles que l'unite represente la taille de l'image. On notera que son */ /* initialisation est faite en nombre de points car, en effet, '$formatI' n'est alors */ /* pas connu... */ /*..............................................................................................................................*/ #ifdef __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS INITIALISATION_POINT_2D(emplacement_normalise_de_la_signature_invisible,ABSCISSE_DE_LA_SIGNATURE,ORDONNEE_DE_LA_SIGNATURE); /* Initialisation de l'emplacement implicite de l'estampille... */ GET_ARGUMENTSg(nombre_d_arguments ,BLOC(GET_ARGUMENT_C("imageR=""R=",nom_imageR); GET_ARGUMENT_C("imageA=""A=",nom_imageA); GET_ARGUMENT_C("Rouge=""ROUGE=""AR=",nom_imageAR); GET_ARGUMENT_C("Verte=""VERTE=""AV=",nom_imageAV); GET_ARGUMENT_C("Bleue=""BLEUE=""AB=",nom_imageAB); GET_ARGUMENT_L("RVB=",recuperer_une_image_en_vraies_couleurs); GET_ARGUMENT_L("signer=",signer); GET_ARGUMENT_P("fond=""f=",niveau_fond); GET_ARGUMENT_P("signature=""s=",niveau_signature); GET_ARGUMENT_I("taille=""T=",taille_des_caracteres_des_messages); GET_ARGUMENT_L("estampiller=",signer_avec_une_estampille); GET_ARGUMENT_L("lisible=",lisible); GET_ARGUMENT_I("bibliotheque=",vecteurs_____num_bibliotheque); GET_ARGUMENT_I("x=",ASD1(emplacement_normalise_de_la_signature_invisible,x)); GET_ARGUMENT_I("X=",ASD1(emplacement_normalise_de_la_signature_invisible,x)); GET_ARGUMENT_I("y=",ASD1(emplacement_normalise_de_la_signature_invisible,y)); GET_ARGUMENT_I("Y=",ASD1(emplacement_normalise_de_la_signature_invisible,y)); ) ); INITIALISATION_POINT_2D(emplacement_de_la_signature_invisible ,_____cNORMALISE_OX(ASD1(emplacement_normalise_de_la_signature_invisible,x)) ,_____cNORMALISE_OY(ASD1(emplacement_normalise_de_la_signature_invisible,y)) ); /* Initialisation de l'emplacement implicite de l'estampille... */ Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_ROUGE,NOM_D_UNE_COMPOSANTE(nom_imageAR,c_ROUGE))))) Bblock Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_VERTE,NOM_D_UNE_COMPOSANTE(nom_imageAV,c_VERTE))))) Bblock Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_BLEUE,NOM_D_UNE_COMPOSANTE(nom_imageAB,c_BLEUE))))) Bblock SIGNATURE_GENERALE(Image_ROUGE); SIGNATURE_GENERALE(Image_VERTE); SIGNATURE_GENERALE(Image_BLEUE); /* Signature eventuelle de l'image... */ CALi(IGstore_image_au_format_SGI(nom_imageR ,Image_ROUGE,Image_VERTE,Image_BLEUE ) ); /* Conversion : 'RVB' --> 'SGI'. */ Eblock ATes Bblock Test__CODE_ERREUR__ERREUR07; Eblock ETes Eblock ATes Bblock Test__CODE_ERREUR__ERREUR07; Eblock ETes Eblock ATes Bblock Test__CODE_ERREUR__ERREUR07; Eblock ETes #Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS GET_ARGUMENTSi(nombre_d_arguments ,BLOC(VIDE; ) ); PRINT_ATTENTION("cette commande est ineffective sur ce SYSTEME"); #Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS RETU_Commande; Eblock ECommande