bla du dimanche soir
This commit is contained in:
parent
0a482a7316
commit
82ffe1c2cc
@ -53,6 +53,8 @@
|
|||||||
|
|
||||||
\section*{Une image flottante ?}
|
\section*{Une image flottante ?}
|
||||||
|
|
||||||
|
\textsl{Back in a far past part of history.}
|
||||||
|
|
||||||
\textsl{Mais de quoi parle-t-on exactement ?}
|
\textsl{Mais de quoi parle-t-on exactement ?}
|
||||||
|
|
||||||
% XXX XXX XXX\vspace{1em}
|
% XXX XXX XXX\vspace{1em}
|
||||||
@ -79,7 +81,12 @@ IRC de \textsl{libera.chat}.
|
|||||||
|
|
||||||
\textbf{Attention !} ce document commence par une bonne rafale
|
\textbf{Attention !} ce document commence par une bonne rafale
|
||||||
de technique parfois \textsl{hardue}\footnote{hard + ardue = private
|
de technique parfois \textsl{hardue}\footnote{hard + ardue = private
|
||||||
joke Usenet}, avec des pointeurs dedans.
|
joke Usenet}, avec des pointeurs dedans, mais vous êtes déja
|
||||||
|
au courant.
|
||||||
|
Le pointeur, c'est bien, c'est comme le doigt sur les écrans
|
||||||
|
de zombiephones, ça sert juste à dire «~C'est là !~», c'est
|
||||||
|
donc gravement utile, mais parfois, le doigt glisse.
|
||||||
|
Et là, tout peut arriver.
|
||||||
Vous avez parfaitement le droit de sauter directement à
|
Vous avez parfaitement le droit de sauter directement à
|
||||||
la page \pageref{outils} pour quelque chose de plus concret.
|
la page \pageref{outils} pour quelque chose de plus concret.
|
||||||
|
|
||||||
@ -510,7 +517,7 @@ Si la valeur retournée est différente de 0, c'est que quelque
|
|||||||
chose s'est probablement mal passé.
|
chose s'est probablement mal passé.
|
||||||
Certains messages sont parfois explicites. Mais parfois non.
|
Certains messages sont parfois explicites. Mais parfois non.
|
||||||
Quand aux valeurs retournées en cas d'erreur, c'est le désordre
|
Quand aux valeurs retournées en cas d'erreur, c'est le désordre
|
||||||
intégral.
|
intégral\footnote{Un vrai désastre, même...}.
|
||||||
|
|
||||||
% _________
|
% _________
|
||||||
|
|
||||||
@ -1396,7 +1403,7 @@ le premier pouvant salement brotcher une image, et le second capable de
|
|||||||
mélanger harmonieusement deux images, la balance est équilibrée.
|
mélanger harmonieusement deux images, la balance est équilibrée.
|
||||||
|
|
||||||
Il s'agit donc d'un petit programme écrit en Bash\index{bash}, un langage
|
Il s'agit donc d'un petit programme écrit en Bash\index{bash}, un langage
|
||||||
dont la connaissance est, pour moi, indispendable à qui veut faire des
|
dont la connaissance est, pour moi, indispensable à qui veut faire des
|
||||||
images kitchies\index{kitchy}. Mais ne vous inquiétez pas, c'est en
|
images kitchies\index{kitchy}. Mais ne vous inquiétez pas, c'est en
|
||||||
fait assez simple à comprendre. Et comprendre, c'est apprendre.
|
fait assez simple à comprendre. Et comprendre, c'est apprendre.
|
||||||
|
|
||||||
@ -1625,10 +1632,12 @@ devez mettre ce bout de XML\index{XML} dans le fichier
|
|||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
C'est juste un hack rapide, qui ne fonctionne pas très bien avec
|
C'est juste un hack rapide, qui ne fonctionne pas très bien avec
|
||||||
d'autres commande de IM, comme identify, qui a tendance à
|
d'autres commande de IM, comme \texttt{identify}\index{identify},
|
||||||
|
qui a tendance à
|
||||||
raconter un peu n'importe quoi, puisqu'elle se base sur le
|
raconter un peu n'importe quoi, puisqu'elle se base sur le
|
||||||
résultat de la conversion.
|
résultat de la conversion.
|
||||||
Je compte donc sur le bouquin de \textsl{Brunus} pour avancer\dots
|
Je compte donc sur le bouquin de \textsl{Brunus}\index{Brunus}
|
||||||
|
pour avancer\dots
|
||||||
|
|
||||||
\subsection{Gimp}\index{Gimp}
|
\subsection{Gimp}\index{Gimp}
|
||||||
|
|
||||||
@ -1662,7 +1671,7 @@ Bon courage pour toutes les explorer, voire même juste les comprendre.
|
|||||||
Il y a d'autres logiciels pour lesquels écrire une fonction d'importation
|
Il y a d'autres logiciels pour lesquels écrire une fonction d'importation
|
||||||
serait bien~: \textsl{Geeqie}, un visualiseur d'image fort pratique, ou
|
serait bien~: \textsl{Geeqie}, un visualiseur d'image fort pratique, ou
|
||||||
\textsl{Krita} qui semble avoir les faveurs de
|
\textsl{Krita} qui semble avoir les faveurs de
|
||||||
dessinateurs de talent\footnote{Oui, David, c'est à toi que je pense.}.
|
dessinateurs de talent.
|
||||||
Ce qui nous conduit à une question importante~: quels sont les logiciels
|
Ce qui nous conduit à une question importante~: quels sont les logiciels
|
||||||
qui gèrent le chargement d'image par un système de
|
qui gèrent le chargement d'image par un système de
|
||||||
\textsl{plugin}\index{plugin},
|
\textsl{plugin}\index{plugin},
|
||||||
|
13
essai.c
13
essai.c
@ -18,6 +18,8 @@ int verbosity;
|
|||||||
void fait_un_dessin(FloatImg *dessin)
|
void fait_un_dessin(FloatImg *dessin)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// fprintf(stderr, "je dessine dans %p\n", dessin);
|
||||||
|
|
||||||
fimg_draw_something(dessin);
|
fimg_draw_something(dessin);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -26,6 +28,7 @@ void help(void)
|
|||||||
{
|
{
|
||||||
puts("Options :");
|
puts("Options :");
|
||||||
puts("\t-d WxH\timage size");
|
puts("\t-d WxH\timage size");
|
||||||
|
puts("\t-v\tincrease verbosity");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
/* --------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------- */
|
||||||
@ -57,19 +60,19 @@ fimg_drand48(&fimgB, 100.0);
|
|||||||
foo = fimg_dump_to_file(&fimgB, "B.fimg", 0);
|
foo = fimg_dump_to_file(&fimgB, "B.fimg", 0);
|
||||||
|
|
||||||
fimg_timer_set(0);
|
fimg_timer_set(0);
|
||||||
#define NBP 500
|
#define NBP 5
|
||||||
for (foo=0; foo<NBP; foo++) {
|
for (foo=0; foo<NBP; foo++) {
|
||||||
if (verbosity) {
|
if (verbosity) {
|
||||||
printf("%5d / %5d\n", foo, NBP);
|
printf("%5d / %5d\n", foo, NBP);
|
||||||
}
|
}
|
||||||
fait_un_dessin(&fimgB);
|
fait_un_dessin(&fimgB);
|
||||||
fimg_add_3(&fimgA, &fimgB, &fimgA);
|
fimg_add_3(&fimgA, &fimgB, &fimgA);
|
||||||
// fimg_mul(&fimgA, &fimgB, &fimgA);
|
// fimg_mul(&fimgA, &fimgB, &fimgA);
|
||||||
}
|
}
|
||||||
tb = fimg_timer_get(0);
|
tb = fimg_timer_get(0);
|
||||||
fprintf(stderr, "%s = %f seconds\n", __func__, tb);
|
fprintf(stderr, "%s = %.2f seconds, %.2f s/p\n", __func__, tb, tb/(double)NBP);
|
||||||
foo = fimg_save_as_pnm(&fimgA, "drand48.pnm", 0);
|
foo = fimg_save_as_pnm(&fimgA, "out.pnm", 0);
|
||||||
foo = fimg_dump_to_file(&fimgA, "drand48.fimg", 0);
|
foo = fimg_dump_to_file(&fimgA, "out.fimg", 0);
|
||||||
|
|
||||||
fimg_destroy(&fimgA);
|
fimg_destroy(&fimgA);
|
||||||
fimg_destroy(&fimgB);
|
fimg_destroy(&fimgB);
|
||||||
|
@ -110,6 +110,9 @@ for (y=0; y<hd; y++) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* --------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------- */
|
||||||
|
/*
|
||||||
|
* this function can be optimized with direct pixel copy
|
||||||
|
*/
|
||||||
int fimg_extractor(FloatImg *in, FloatImg *out, FimgArea51 *rect)
|
int fimg_extractor(FloatImg *in, FloatImg *out, FimgArea51 *rect)
|
||||||
{
|
{
|
||||||
int xs, ys, xd, yd;
|
int xs, ys, xd, yd;
|
||||||
|
@ -19,7 +19,7 @@ do
|
|||||||
|
|
||||||
# only take the good spot
|
# only take the good spot
|
||||||
fimg=$(printf "%s/%05d.fimg" ${OUTD} ${idx})
|
fimg=$(printf "%s/%05d.fimg" ${OUTD} ${idx})
|
||||||
${EXTR} -o ${fimg} ${TMPG} 800,600,560,240 ${fimg}
|
${EXTR} -o ${fimg} ${TMPG} 800,600,560,240
|
||||||
|
|
||||||
# display ${fimg} ; exit
|
# display ${fimg} ; exit
|
||||||
|
|
||||||
|
@ -18,7 +18,9 @@ int extractor(char *srcname, char *dstname, FimgArea51 *rect)
|
|||||||
FloatImg src, dst;
|
FloatImg src, dst;
|
||||||
int foo;
|
int foo;
|
||||||
|
|
||||||
|
#if DEBUG_LEVEL
|
||||||
fprintf(stderr, ">>> %s ( %s %s %p )\n", __func__, srcname, dstname, rect);
|
fprintf(stderr, ">>> %s ( %s %s %p )\n", __func__, srcname, dstname, rect);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (verbosity) {
|
if (verbosity) {
|
||||||
print_rectangle((char *)__func__, rect);
|
print_rectangle((char *)__func__, rect);
|
||||||
|
Loading…
Reference in New Issue
Block a user