J'avais rᅵussi ᅵ modifier le code de gimp-2.4.7 de faᅵon ᅵ obtenir une
grille personnalisᅵe de l'outil courbes. Il suffisait de remplacer les 4 par
des 5 dans cette partie du fichier gimpcurvestool.c comme ceci :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/* Draw the grid lines */
for (i = 1; i < 5; i++)
{
gdk_draw_line (widget->window,
tool->graph->style->dark_gc[GTK_STATE_NORMAL],
RADIUS,
RADIUS + i * (height / 5),
RADIUS + width - 1,
RADIUS + i * (height / 5));
gdk_draw_line (widget->window,
tool->graph->style->dark_gc[GTK_STATE_NORMAL],
RADIUS + i * (width / 5),
RADIUS,
RADIUS + i * (width / 5),
RADIUS + height - 1);
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La grille produite de cette faᅵon :
http://www.cijoint.fr/cjlink.php?file=cj200912/cijRQXNokg.png
me convient infiniment mieux que celle d'origine (4 cases * 4 cases).
Malheureusement, pour gimp-2.6.7, le code est complᅵtement changᅵ et mon
intuition ne suffit plus. Quelqu'un de plus calᅵ consentirait-il ᅵ jeter un
coup d'ᅵil au fichier gimpcurvestool.c et ᅵ me mettre sur la voie ?
(Je l'ai affublᅵ de l'extension txt pour qu'il soit admis.)
http://www.cijoint.fr/cjlink.php?file=cj200912/cij47iFveu.txt
Je ne comprend pas tres bien. Avec gimp-2.6.7, j'ai 8x8 (8 cases * 8
cases) au lieu de 4x4.
Tu veux remplacer le 8x8 fourni par gimp-2.6.7 par ton 5x5 ?
C'est bien ca ?
A plus,
--
Bruno Ducrot
-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.
> Je ne comprend pas tres bien. Avec gimp-2.6.7, j'ai 8x8 (8 cases * 8
> cases) au lieu de 4x4.
>
> Tu veux remplacer le 8x8 fourni par gimp-2.6.7 par ton 5x5 ?
> C'est bien ca ?
Oui, ou � la rigueur 15x15 mais �a commencerait � faire un peu charg�.
Ca se passe maintenant dans
app/widgets/gimphistogramview.c::gimp_histogram_view_expose()
Je suis idiot. En fait, c'est dans :
app/widgets/gimpcurview.c
Cherche les lignes :
g_object_class_install_property (object_class, PROP_GRID_ROWS,
g_param_spec_int ("grid-rows", NULL, NULL,
0, 100, 8,
GIMP_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (object_class, PROP_GRID_COLUMNS,
g_param_spec_int ("grid-columns", NULL, NULL,
0, 100, 8,
GIMP_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
(ce sont les lignes 108 a 102)
Il suffit de remplacer les 8 (la ou il y a les deux lignes "0, 100, 8, ")
par 5.
> Je suis idiot.
Certes non. :-)
> En fait, c'est dans :
>
> app/widgets/gimpcurview.c
>
> Cherche les lignes :
>
> g_object_class_install_property (object_class, PROP_GRID_ROWS,
> g_param_spec_int ("grid-rows", NULL, NULL,
> 0, 100, 8,
> GIMP_PARAM_READWRITE |
> G_PARAM_CONSTRUCT_ONLY));
> g_object_class_install_property (object_class, PROP_GRID_COLUMNS,
> g_param_spec_int ("grid-columns", NULL, NULL,
> 0, 100, 8,
> GIMP_PARAM_READWRITE |
> G_PARAM_CONSTRUCT_ONLY));
>
> (ce sont les lignes 108 a 102)
>
> Il suffit de remplacer les 8 (la ou il y a les deux lignes "0, 100, 8, ")
> par 5.
OK, merci beaucoup. Je rendrai compte du r�sultat avant longtemps.
> OK, merci beaucoup. Je rendrai compte du r�sultat avant longtemps.
Et voil� le travail :
http://www.cijoint.fr/cjlink.php?file=cj200912/cij0RljYHi.png
L'avantage de cette grille appara�t quand on travaille sur des images
destin�es � �tre enregistr�es en 16 niveaux de gris comme dans cet exemple.
Chaque division co�ncide avec un niveau et il y a un nombre entier de
niveaux dans chaque case. Il devient alors plus facile de positionner
l'ordonn�e de tel ou tel palier de la courbe de fa�on � maximiser le nombre
de pixels d'un niveau donn� aux d�pends des niveaux voisins. Je ne suis
peut-�tre pas tr�s clair...