|
|
|
@ -41,7 +41,7 @@ chaque pixel en virgule flottante sur 32bits, le type |
|
|
|
|
\pagebreak |
|
|
|
|
|
|
|
|
|
% ------------------------------------------------------------------- |
|
|
|
|
\section{Example} |
|
|
|
|
\section{Example}\index{example}\label{example} |
|
|
|
|
|
|
|
|
|
Pour commencer par quelques chose de simple, |
|
|
|
|
nous allons créer une image RGB\index{RGB} complètement noire, |
|
|
|
@ -109,7 +109,8 @@ le bouzin. Il est loin d'être parfait. |
|
|
|
|
\vspace{1em} |
|
|
|
|
|
|
|
|
|
Si le résultat vous semble correct, vous pouvez copier |
|
|
|
|
\texttt{floatimg.h} et \texttt{libfloatimg.a} dans un emplacement |
|
|
|
|
les deux fichiers \texttt{floatimg.h} et \texttt{libfloatimg.a} |
|
|
|
|
dans un emplacement |
|
|
|
|
approprié, par exemple |
|
|
|
|
\texttt{/usr/local/include} et \texttt{/usr/local/lib}. |
|
|
|
|
|
|
|
|
@ -121,6 +122,7 @@ contenant un certain nombre de |
|
|
|
|
définition de structures, de macros, |
|
|
|
|
de constantes\footnote{À l'ancienne, via le pré-processur} |
|
|
|
|
et les prototypes des fonctions utilisables. |
|
|
|
|
\vspace{1em} |
|
|
|
|
|
|
|
|
|
Au niveau du code source, ces fonctions sont approximativement |
|
|
|
|
classées en deux catégories : \texttt{lib/} et \texttt{funcs/}. |
|
|
|
@ -130,12 +132,18 @@ est en fait arbitraire. |
|
|
|
|
|
|
|
|
|
\subsection{lib/}\index{lib/} |
|
|
|
|
|
|
|
|
|
Première chose, la gestion dynamique de la mémoire occupées |
|
|
|
|
par tous ces pixels flottants est faite par ces deux fonctions~: |
|
|
|
|
|
|
|
|
|
\begin{verbatim} |
|
|
|
|
int fimg_create(FloatImg *fimg, int w, int h, int t); |
|
|
|
|
int fimg_create(FloatImg *fimg, int w, int h, int type); |
|
|
|
|
int fimg_destroy(FloatImg *fimg); |
|
|
|
|
\end{verbatim} |
|
|
|
|
|
|
|
|
|
Les types d'images actuellement gérés sont les trois grands |
|
|
|
|
classiques : gray, rgb et rgba. Il y a les constantes adéquates |
|
|
|
|
dans \texttt{floatimg.h}. |
|
|
|
|
|
|
|
|
|
\subsection{funcs/}\index{funcs/} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|