/*************************************************************************************************************************************/
/* */
/* 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
Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.