Retourner aux forums || Retourner au forum Programmation.autre

Programmation.autre : GTK, drawingarea et splines

Posté par thor_tue () le 15 mai 2008
0
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 ?

> Lire le message (3 commentaires, moyenne: 1,7).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Cairo to the rescue ?

Posté par Jonathan Ballet (Jabber id, ) le 15/05/2008 à 15:18. (lien). Évalué à 2.

Cairo devrait savoir s'occuper de ça ...

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 (Jabber id, page perso, ) le 16/05/2008 à 10:36. (lien). Évalué à 2.

    Effectivement, le plus simple est d'utiliser gdk_cairo_create à partir du GdkWindow, et ensuite de dessiner avec l'API Cairo.
    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 () le 18/05/2008 à 12:27. (lien). Évalué à 1.

      Merci pour vos réponses.

      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.

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.autre