Salut.
Je suis très gêné de constater qu'il n'y a pas de
méthode pour tracer une courbe de type spline (d'un
degré quelconque) sur une "drawingarea/drawable".
Mon problème n'est pas de coder les splines (ce qui est
très simple), mais je voudrais me dispenser de devoir
aussi coder l'algorithme de "lissage" du tracé (celui qui évite
l'aspect en créneaux). J'ai l'impression pourtant que
je ne vais pas y échapper... Wikipédia documente bien
la méthode de Bresenham pour un segment de droite,
mais il me faudrait donc une méthode étendue aux courbes
paramétriques non linéaires, incluant donc les splines.
Comment faites-vous pour tracer des courbes quelconques
"proprement" sur des widgets ?
# Cairo to the rescue ?
Posté par jon . Évalué à 2.
Exemple : http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ch15s(...)
C'est gtkmm, mais tu devrais pouvoir adapter ou trouver pour Gtk tout court en fouillant un peu dans les APIs respectives.
[^] # Re: Cairo to the rescue ?
Posté par liberforce (site web personnel) . Évalué à 2.
http://library.gnome.org/devel/gdk/unstable/gdk-Cairo-Intera(...)
cairo_context = gdk_cairo_create (drawinarea->window);
Ensuite tu peux adapter l'exemple donné par Jonathan en lisant l'API en C de cairo.
http://www.cairographics.org/manual/
Ne pas oublier d'appeler cairo_destroy pour détruire le contexte à la fin.
[^] # Re: Cairo to the rescue ?
Posté par thor_tue . Évalué à 1.
J'ai jeté un oeil sur Cairo et c'est trop basique
pour ce que je veux faire (il manque un contrôle fin
des courbes : degré, nb points de contrôle, etc.)
En revanche ça semble très bien pour un tracé simple.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.