Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3025 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Dessiner des petit carre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Dessiner des petit carre

n°478778
xtoune
Posté le 06-08-2003 à 09:33:28  profilanswer
 


 
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...
mood
Publicité
Posté le 06-08-2003 à 09:33:28  profilanswer
 

n°478783
Cherrytree
cn=?
Posté le 06-08-2003 à 09:41:04  profilanswer
 

Tu travailles avec des double et lorsque tu dessines ta grille tu castes à l'entier.


Message édité par Cherrytree le 06-08-2003 à 09:41:21

---------------
Le site de ma maman
n°478785
xtoune
Posté le 06-08-2003 à 09:43:55  profilanswer
 

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


Message édité par xtoune le 06-08-2003 à 09:47:44

---------------
heu...
n°478786
souk
Tourist
Posté le 06-08-2003 à 09:50:30  profilanswer
 

xtoune a écrit :

ben ca resoud pas mon pb. 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


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.

n°478808
Cherrytree
cn=?
Posté le 06-08-2003 à 10:09:37  profilanswer
 

Il ne faut travailler en coordonnées entières qu'au moment de faire ton render.


---------------
Le site de ma maman
n°478817
xtoune
Posté le 06-08-2003 à 10:18:55  profilanswer
 

ok ok !! moi je passé en entier des le calcul de mon Pas entre chaque ligne !
 
 
donc je vais faire ca.
 
Danke !


---------------
heu...
n°478830
Cherrytree
cn=?
Posté le 06-08-2003 à 10:27:11  profilanswer
 

Grüsse ma poule.


---------------
Le site de ma maman
n°478833
taureau
Posté le 06-08-2003 à 10:31:35  profilanswer
 

je trouverais plus logique d'avoir la dernière ligne/colonne tronquée plutot que d'avoir des pas variables non ?
 

n°478840
xtoune
Posté le 06-08-2003 à 10:36:45  profilanswer
 

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 :-(


Message édité par xtoune le 06-08-2003 à 10:37:17

---------------
heu...
n°478846
Cherrytree
cn=?
Posté le 06-08-2003 à 10:42:08  profilanswer
 

Bon... Lorsque tu traces la grille tu fais ceci
 

Code :
  1. int width = 100;
  2. int height = 100;
  3. double step = 100 / 3;
  4. int i = 0;
  5. while (i * step < width) {
  6.     g.drawLine((int) (i * step), 0, (int) (i * step), height);
  7.     ++i;
  8. }


Message édité par Cherrytree le 06-08-2003 à 10:42:59

---------------
Le site de ma maman
mood
Publicité
Posté le 06-08-2003 à 10:42:08  profilanswer
 

n°478851
taureau
Posté le 06-08-2003 à 10:43:32  profilanswer
 

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  :D

n°478852
xtoune
Posté le 06-08-2003 à 10:46:00  profilanswer
 

sinon personne n'a d'idee pour ce poste :
 
http://forum.hardware.fr/forum2.ph [...] subcat=390
 
it's about JList


Message édité par xtoune le 06-08-2003 à 10:46:18

---------------
heu...
n°478864
xtoune
Posté le 06-08-2003 à 10:53:52  profilanswer
 

Taureau a écrit :

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  :D  


 
 
ben c se que je disais, a part que toi tu desine une ligne de plus


---------------
heu...
n°478868
Cherrytree
cn=?
Posté le 06-08-2003 à 11:03:00  profilanswer
 

xtoune a écrit :


 
 
ben c se que je disais, a part que toi tu desine une ligne de plus


Tu l'as lu le code que j'ai écrit ?


---------------
Le site de ma maman
n°478957
R3g
fonctionnaire certifié ITIL
Posté le 06-08-2003 à 12:06:26  profilanswer
 

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..

n°478961
xtoune
Posté le 06-08-2003 à 12:09:41  profilanswer
 

Cherrytree a écrit :


Tu l'as lu le code que j'ai écrit ?


 
oui oui, la je repondais a taureau.
 
sinon c bon ca marche nikel
danke


---------------
heu...
n°478967
xtoune
Posté le 06-08-2003 à 12:13:56  profilanswer
 

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


Message édité par xtoune le 06-08-2003 à 12:15:46

---------------
heu...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Dessiner des petit carre

 

Sujets relatifs
Petit soucil en mysql...petit rappel SVP !??
petit exemple: fabriquer votre propre opérateur ternairepetit problème de largeur pour une balise div
[C / GNU] petit doute sur strncpyPetit probleme de client smtp
[FLASH] J'ai un petit problème de séquence ?[VC++] Compiler un petit bout de C du site Microsoft !
petit problème avec une classe PHPPetit progamme en JAVA et PASCAL
Plus de sujets relatifs à : Dessiner des petit carre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR