Dessiner des petit carre - Java - Programmation
Marsh Posté le 06-08-2003 à 09:41:04
Tu travailles avec des double et lorsque tu dessines ta grille tu castes à l'entier.
Marsh Posté le 06-08-2003 à 09:43:55
ben ca resoud pas mon pb. c ce que je fait actuellement, et je ne rempli pas ma zone de dessin
100/30 = 3,333 si je caste j'obtien 3 donc 3 *30 = 90 pixel au lieu de mes 100
Marsh Posté le 06-08-2003 à 09:50:30
xtoune a écrit : ben ca resoud pas mon pb. ce que je fait actuellement, et je ne rempli pas ma zone de dessin |
je crois qu'il voulait dire de travailler avec des coordonnee en double, et de caster juste avant de tracer.
mais en fait il faut arrondir au plus proche:
genre ton 8eme carre, il part de 8*3.33333 = 24.6666666 => arrondi a 25
le 30eme => 99.99999 => arrondi a 100.
y aura des cases de differentes tailles, mais c'est le seul compromis si tu veux remplir absolument exactement une taille precise.
Marsh Posté le 06-08-2003 à 10:09:37
Il ne faut travailler en coordonnées entières qu'au moment de faire ton render.
Marsh Posté le 06-08-2003 à 10:18:55
ok ok !! moi je passé en entier des le calcul de mon Pas entre chaque ligne !
donc je vais faire ca.
Danke !
Marsh Posté le 06-08-2003 à 10:31:35
je trouverais plus logique d'avoir la dernière ligne/colonne tronquée plutot que d'avoir des pas variables non ?
Marsh Posté le 06-08-2003 à 10:36:45
ca a l'air de marcher nickel !!
tronqué la derniere ligne colonne ok mais le pb c que par exemple :
100/30 =3,33 => 3
ce qui donne la 29 ieme ligne a 29*3 = 87 pixel => le pas de la derniere ligne serait donc de 13pixel au lieu des 3 :-(
Marsh Posté le 06-08-2003 à 10:42:08
Bon... Lorsque tu traces la grille tu fais ceci
Code :
|
Marsh Posté le 06-08-2003 à 10:43:32
heu je dois avoir mal compris car pour moi cela donnerait
30*3=90 d'ou une colonne 31 de 10 pixels et idem pour la 31eme ligne...
sinon tu t'arranges pour forcer l'utilisateur à ne choisir que des pas qui tombent bien
Marsh Posté le 06-08-2003 à 10:46:00
sinon personne n'a d'idee pour ce poste :
http://forum.hardware.fr/forum2.ph [...] subcat=390
it's about JList
Marsh Posté le 06-08-2003 à 10:53:52
Taureau a écrit : heu je dois avoir mal compris car pour moi cela donnerait |
ben c se que je disais, a part que toi tu desine une ligne de plus
Marsh Posté le 06-08-2003 à 11:03:00
xtoune a écrit : |
Tu l'as lu le code que j'ai écrit ?
Marsh Posté le 06-08-2003 à 12:06:26
J'avais deja eu le problème, mais moi je pouvais toucher aux dimensions de la zone de dessin. Je ne sais pas si c'est ton cas, mais sinon tu peux ajuster les dimensions de la zone de dessin pour que ca tombe juste. Au pire ca fait 2-3 pixels à ajouter ou retirer, ca passe inaperçu pour l'utilisateur..
Marsh Posté le 06-08-2003 à 12:09:41
Cherrytree a écrit : |
oui oui, la je repondais a taureau.
sinon c bon ca marche nikel
danke
Marsh Posté le 06-08-2003 à 12:13:56
R3g a écrit : J'avais deja eu le problème, mais moi je pouvais toucher aux dimensions de la zone de dessin. Je ne sais pas si c'est ton cas, mais sinon tu peux ajuster les dimensions de la zone de dessin pour que ca tombe juste. Au pire ca fait 2-3 pixels à ajouter ou retirer, ca passe inaperçu pour l'utilisateur.. |
oui c aussi une solution ( mais a mon avis plus que 2, 3 pixel )
ici 100/30 ca nous ramene soit à 90/30=3 ou 120/30=4
soit -10 ou +20 pixel
Marsh Posté le 06-08-2003 à 09:33:28
Salut !!
alors voici mon pb :
Je dois dessiner une grille ( des petit carre ) dans une zone de dessin.
l'utilisateur choisi le nb de ligne et le nb de colonne et egalement la zone de dessin.
PB : si l'utilisateur choisi de dessiner 30 lignes, 30 colonne sur une zone de 100*100 pixels on obtient:
100/30 = 1 ligne tous les 3,333333 pixel or on ne peut dessiner qu'avec des pixel entier.
Donc
soit j'arrondi au superieur (ici 4 ) et je depasse mes 100 pixel
soit j'arrondi a l'inferieur (ici 3) et je suis en dessou de mes 100 pixel
( ou idem mes j'augment ou diminu le nombre de ligne pour rester a 100pixel)
kelkun a - til une solution ??
---------------
heu...