Bonjour,
J'ai un petit problème, je souhaite afficher dans un DrawingArea une série d'image (des hexagones). Jusque là tout va bien, mais lorsque j'essaye de les positionner de façon emboitée (quinconce), les hexagones se chevauchent. Mes calculs sont corrects (détermination de l'espace entre les hexagones), mais le problème c'est que la méthode render_to_drawable de Gdk::Pixbuf ne prend en paramètre que des entiers pour positionner l'image.
Quelqu'un aurait il une solution pour que je puisse afficher ces hexagones de façon convenable?
Merci d'avance.
P.S. voici le code de la boucle d'insertion des images (2 lignes de 10 hexagones, je ferai bien sur une double boucle for aprés le probleme résolu):
Et celui du calcul de l'espace entre les hexagones.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 for (int i = 0 ; i < 10 ; i++){ image->render_to_drawable(get_window(), get_style()->get_black_gc(), 0, 0, (double)i * (xGap(w,h) + w), 0, w, h, Gdk::RGB_DITHER_NONE, 0, 0); } for (int i = 0 ; i < 10 ; i++){ image->render_to_drawable(get_window(), get_style()->get_black_gc(), 0, 0, ((double)i * (xGap(w,h) + w)) + xGap(w,h) + w/2.0*cos((MY_2PI)/6.0), h/2.0, w, h, Gdk::RGB_DITHER_NONE, 0, 0); }
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 return sqrt( pow((w/2.0)-(w/2.0)*cos(MY_2PI/6.0),2) + pow((h/2.0)*(sin(MY_2PI/6.0)),2));
Exemple :
Image chargée par le pixbuf:
Partager