/*************************************************************************************************************************************/ /* */ /* E D I T I O N A L P H A - N U M E R I Q U E D ' U N E I M A G E : */ /* */ /* */ /* Definition : */ /* */ /* Cette commande represente en alpha- */ /* numerique l'image argument a l'aide de */ /* " ", "+", "*" et "#", et ce soit */ /* betement, soit sous forme de commen- */ /* taires du type "C". On notera que pour */ /* ameliorer le rendu, on pourra faire : */ /* */ /* $xci/convol.01$X A=... pmX=8 pmY=16 | $xci/liste$X */ /* */ /* ou mieux : */ /* */ /* $xci/dilate.01$X A=... pmX=8 pmY=16 | $xci/liste$X */ /* */ /* (ou '8' et '16' correspondent respectivement */ /* aux parametres 'PAS_HORIZONTAL_D_EDITION' et */ /* 'PAS_VERTICAL_D_EDITION'). En particulier, la */ /* derniere forme (avec '$xci/dilate.01$X') permet */ /* de recuperer des details fins et isoles... */ /* */ /* */ /* Author of '$xci/liste$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1987??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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_drive_alpha_FONCTION_EXT /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #define EDITER_DES_COMMENTAIRES \ VRAI \ /* Indique s'il faut editer sous forme de commentaires "C" ('VRAI') ou betement ('FAUX'). */ #define INVERSION_DE_L_IMAGE \ VRAI \ /* Indique s'il faut inverser ('VRAI') ou pas ('FAUX') l'image... */ #define X_PAS PAS_HORIZONTAL_D_EDITION \ /* Pas sur l'axe 'OX', */ #define Y_PAS PAS_VERTICAL_D_EDITION \ /* Pas sur l'axe 'OY'. */ #define SEUIL_NOIR_BLANC \ NOIR \ /* Seuil de discrimination entre le 'NOIR' et le 'BLANC' et choix du mode... */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* E D I T I O N A L P H A - N U M E R I Q U E D ' U N E I M A G E : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE)); /* Nom de l'image a displayer. */ DEFV(Logical,INIT(editer_des_commentaires,EDITER_DES_COMMENTAIRES)); /* Indique s'il faut editer sous forme de commentaires "C" ('VRAI') ou betement ('FAUX'). */ DEFV(Logical,INIT(inverser_l_image,INVERSION_DE_L_IMAGE)); /* Indique s'il faut inverser ('VRAI') ou pas ('FAUX') l'image... */ DEFV(genere_p,INIT(seuil_de_display,SEUIL_NOIR_BLANC)); /* Seuil de selection entre le mode "riche" (='NOIR') ou tout ou rien (>'NOIR'). */ /*..............................................................................................................................*/ SET_ECHANTILLONNAGE(X_PAS,Y_PAS); /* Initialisation par defaut des pas d'edition... */ /* */ /* Je rappelle le 20120422172250 que les arguments : */ /* */ /* px=... */ /* py=... */ /* */ /* permettent ci-apres de changer cela... */ GET_ARGUMENTSi(nombre_d_arguments ,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA); GET_ARGUMENT_L("commentaires=""c=",editer_des_commentaires); GET_ARGUMENT_L("inversion=""i=",inverser_l_image); GET_ARGUMENT_P("seuil=""s=",seuil_de_display); GET_ARGUMENT_K("g1=""GRIS_1=""G1=",Iliste_image_____caractere_GRIS_1); GET_ARGUMENT_K("g2=""GRIS_2=""G2=",Iliste_image_____caractere_GRIS_2); GET_ARGUMENT_K("g3=""GRIS_3=""G3=",Iliste_image_____caractere_GRIS_3); GET_ARGUMENT_K("g4=""GRIS_4=""G4=",Iliste_image_____caractere_GRIS_4); GET_ARGUMENT_K("g5=""GRIS_5=""G5=",Iliste_image_____caractere_GRIS_5); GET_ARGUMENT_K("g6=""GRIS_6=""G6=",Iliste_image_____caractere_GRIS_6); GET_ARGUMENT_K("g7=""GRIS_7=""G7=",Iliste_image_____caractere_GRIS_7); GET_ARGUMENT_K("g8=""GRIS_8=""G8=",Iliste_image_____caractere_GRIS_8); ) ); Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageA,nom_imageA)))) Bblock Test(IL_FAUT(inverser_l_image)) Bblock CALS(Icomplementation(ImageR,ImageA)); Eblock ATes Bblock CALS(Imove(ImageR,ImageA)); Eblock ETes CALS(Iliste_image(ImageR,seuil_de_display,editer_des_commentaires)); Eblock ATes Bblock Test__CODE_ERREUR__ERREUR07; Eblock ETes RETU_Commande; Eblock ECommande