#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         R E C A D R A G E   D E S   A N C I E N S   " H A R D - C O P I E S "   T E K T R O N I X  :                                #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#              $xci/RecadrageHardCopy.01$vv$Z     <imageA> <imageR> [<Scroll> [<Mode> [<Seuil> [<MargeSecurite>]]]]                   #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xci/RecadrageHardCopy.01$vv$Z' :                                                                                #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20220206102402).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       imageA=$1
set       imageR=$2
set       Scroll=$3
set       Mode=$4
set       Seuil=$5
set       MargeSecurite=$6

setArgum  Scroll                        $EXIST

setArgum  Mode                          2

setArgum  Seuil                         252

setArgum  MargeSecurite                 0.04

if        (-e $imageA) then
          S

          FilSTmpB  ImAgEt

          set       DiMeNsIoNs=`$CONVERT -verbose -depth $NBitsOctet -flip JPEG:$imageA RGBA:$ImAgEt.1$RVB |& $GRE "$imageA" | $HEA -1`
          set       DiMeNsIoNs=`echo "$DiMeNsIoNs" | $R "$K_TAB" "$K_BLANC"`
          set       DiMeNsIoNs=`echo "$DiMeNsIoNs" | $SE -e 's/^.* \([0-9][0-9]*\)x\([0-9][0-9]*\)[ +].*$/\1 \2/'`
                                        # C'est 'v $xiMo/creation$Z le.format.a.encore.change' qui a fourni les quelques instructions #
                                        # qui precedent...                                                                            #

          SwapB     $ImAgEt.1$RVB

          @         DiMeNsIoNsX = $DiMeNsIoNs[1] - 0
          @         DiMeNsIoNsY = $DiMeNsIoNs[2] - 0

          gFITn     FIT5 $DiMeNsIoNsX $DiMeNsIoNsY

          FIT5

          unset     DiMeNsIoNsX
          unset     DiMeNsIoNsY
          unset     DiMeNsIoNs

          $xci/RVB_load$X                                                                                                               \
                              A=$ImAgEt.1$RVB                                                                                           \
                              RVB=VRAI                                                                                                  \
                              R=$ImAgEt.2                                                                                               \
                                                                                                    $formatI

          if        ($Scroll == $EXIST) then
                    $xci/luminance.01$X                                                                                                 \
                                        A=$ImAgEt.2                                                                                     \
                                                                                                              $formatI            |     \
                    $xci/seuil$X                                                                                                        \
                                        seuil=$Seuil                                                                                    \
                                        R=$ImAgEt$LUMIN                                                                                 \
                                                                                                              $formatI

                    set       CeNtRe_ImAgE_X=0.5
                    set       CeNtRe_ImAgE_Y=0.5

     set       CeNtRe_GrAvItE_X=`$xci/CentreGravite.01$X A=$ImAgEt$LUMIN Prme=VRAI signe="$K_VIDE" |& $GRE "^XG=" | $SE -e "s/^.*=//"`
     set       CeNtRe_GrAvItE_Y=`$xci/CentreGravite.01$X A=$ImAgEt$LUMIN Prme=VRAI signe="$K_VIDE" |& $GRE "^YG=" | $SE -e "s/^.*=//"`

                    set       TrAnSlAtIoN_X=`$xcg/SOUS.01$X a=$CeNtRe_ImAgE_X b=$CeNtRe_GrAvItE_X signe="$K_VIDE"`
                    set       TrAnSlAtIoN_X=`$xcg/MOIT.01$X n=$TrAnSlAtIoN_X signe="$K_VIDE"`
                    set       TrAnSlAtIoN_X=`$xcg/ADD2.01$X a=$TrAnSlAtIoN_X b=$MargeSecurite signe="$K_VIDE"`
                    set       TrAnSlAtIoN_X=`$xcg/NEGA.01$X n=$TrAnSlAtIoN_X signe="$K_VIDE"`

                    set       TrAnSlAtIoN_Y=`$xcg/SOUS.01$X a=$CeNtRe_ImAgE_Y b=$CeNtRe_GrAvItE_Y signe="$K_VIDE"`
                    set       TrAnSlAtIoN_Y=`$xcg/MOIT.01$X n=$TrAnSlAtIoN_Y signe="$K_VIDE"`
                    set       TrAnSlAtIoN_Y=`$xcg/ADD2.01$X a=$TrAnSlAtIoN_Y b=$MargeSecurite signe="$K_VIDE"`
                    set       TrAnSlAtIoN_Y=`$xcg/NEGA.01$X n=$TrAnSlAtIoN_Y signe="$K_VIDE"`

                    execRVB   $xci/scroll$X                                                                                             \
                                                  A=$ImAgEt.2%s                                                                         \
                                                  toreX=FAUX trX=$TrAnSlAtIoN_X                                                         \
                                                  toreY=FAUX trY=$TrAnSlAtIoN_Y                                                         \
                                                  R=$ImAgEt.3%s                                                                         \
                                                                                                                        $formatI

                    set       TrAnSlAtIoN_X=`$xcg/NEGA.01$X n=$TrAnSlAtIoN_X signe="$K_VIDE"`
                    set       TrAnSlAtIoN_X=`$xcg/MOIT.01$X n=$TrAnSlAtIoN_X signe="$K_VIDE"`

                    set       TrAnSlAtIoN_Y=`$xcg/NEGA.01$X n=$TrAnSlAtIoN_Y signe="$K_VIDE"`
                    set       TrAnSlAtIoN_Y=`$xcg/MOIT.01$X n=$TrAnSlAtIoN_Y signe="$K_VIDE"`

                    execRVB   $xci/scroll$X                                                                                             \
                                                  A=$ImAgEt.3%s                                                                         \
                                                  toreX=FAUX trX=$TrAnSlAtIoN_X                                                         \
                                                  toreY=FAUX trY=$TrAnSlAtIoN_Y                                                         \
                                                  R=$ImAgEt.4%s                                                                         \
                                                                                                                        $formatI
          else
                    execRVB   $xci/neutre$X                                                                                             \
                                                  A=$ImAgEt.2%s                                                                         \
                                                  R=$ImAgEt.4%s                                                                         \
                                                                                                                        $formatI
          endif

          execRVB   $xci/format.01$X                                                                                                    \
                                        A=$ImAgEt.4%s                                                                                   \
                                                                                                              $formatI                  \
                                        mode=$Mode                                                                                      \
                                        R=$imageR%s                                                                                     \
                                                                                                              $formatR_Pdu
                                        # On notera que :                                                                             #
                                        #                                                                                             #
                                        #                   FIT5      formatI="Xmin=0 Xmax=2337 Ymin=0 Ymax=1653"                     #
                                        #                                       2338/1654 = 1.4135                                    #
                                        #                                                                                             #
                                        #                   Pdu       formatI="Xmin=0 Xmax=1559 Ymin=0 Ymax=1149"                     #
                                        #                                       1560/1150 = 1.3565                                    #
                                        #                                                                                             #
                                        # Les deux formats 'FIT5' et 'Pdu' ont des proportions assez proches...                       #

          FilSTmpE  ImAgEt
else
          EROR      "L'image '$imageA' n'existe pas."
endif



Copyright © Jean-François COLONNA, 2022-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2022-2024.