\clearpage
\section{Le codage RLE}\label{DocRLE}
\index{Codage}\index[cle]{Codage RLE@\lstinline+\CodageRLE+}%
La commande \lstinline!\CodageRLE! permet de coder une image telle que celle-ci :
\begin{center}
  \CodageRLE[Solution,Enonce=false,Unite=8mm]{1,3,1,4,1,1,4,0,1,3,1,0,1,3,1,1,4}
\end{center}
Elle est basée sur le codage RLE (Run-Length Encoding) qui est un algorithme de compression de données : il repère les répétitions de données identiques (ici le blanc et le noir) et indique les nombres associés à ces répétitions. Voici comment est codé l'image ci-dessus :
\begin{center}
  \CodageRLE[Solution,Unite=8mm]{1,3,1,4,1,1,4,0,1,3,1,0,1,3,1,1,4}
\end{center}

Elle a la forme suivante :
\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \CodageRLE[!\sffamily\textlangle clé\textrangle!]{!\sffamily\textlangle Liste \textrangle!}
\end{lstlisting}
où
\begin{itemize}
\item\textlangle\lstinline!clé!\textrangle{} est un paramètre optionnel;
\item\textlangle{\ttfamily Liste}\textrangle{} est la liste des codages de l'image.
\end{itemize}
\begin{Codes}[]{0.35}{}
\CodageRLE[]{1,3,1,4,1,1,4,0,1,3,1,0,1,3,1,1,4}    
\end{Codes}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Codage RLE@\lstinline+\CodageRLE+!Enonce|mygobble}%
  \index[cle]{Codage RLE@\lstinline+\CodageRLE+!Solution|mygobble}%
  \index[cle]{Codage RLE@\lstinline+\CodageRLE+!Unite|mygobble}%
  \index[cle]{Codage RLE@\lstinline+\CodageRLE+!Taille|mygobble}%
\begin{Key}{Enonce}{true}
  affiche le codage associé à la figure.
\end{Key}
\begin{Key}{Solution}{false}
  affiche la figure associée au codage.
\end{Key}
\begin{Key}{Unite}{1cm}
  modifie la longueur du côté des cases du quadrillage.
\end{Key}
\begin{Key}{Taille}{5}
  modifie le nombre de cases par ligne.
\end{Key}
\end{tcolorbox}
\begin{multicols}{2}
  \begin{Codes}[]{0.4}{}
\CodageRLE[Unite=8mm]{1,3,1,4,1,1,4,0,1,3,1,0,1,3,1,1,4}
\end{Codes}
  \begin{Codes}[]{0.4}{}
\CodageRLE[Enonce=false,Unite=8mm]{1,3,1,4,1,1,4,0,1,3,1,0,1,3,1,1,4}
\end{Codes}
\end{multicols}
\begin{Codes}[listing side text]{0.65}{}
\CodageRLE[%
  Unite=5mm,%
  Taille=15,%
  Solution]{%
    15,%
    3,3,3,3,3,%
    2,1,3,1,1,1,3,1,2,%
    1,1,2,1,5,1,2,1,1,%
    4,1,5,1,4,%
    4,1,5,1,4,%
    4,1,2,1,2,1,4,%
    7,1,7,%
    2,1,3,3,3,1,2,%
    3,1,7,1,3,%
    4,1,5,1,4,%
    5,5,5,%
    15,%
    15,%
    15%
  }
\end{Codes}