J'essaie de dessiner un polygone avec un trait de 1 pixel. Étant donné que le polygone entier est mis à l'échelle par 100, j'ai défini la largeur de la ligne sur 0,01. Pour une raison quelconque cependant, le polygone est dessiné avec une largeur de ligne à l'écran de ce qui semble être 100 pixels au lieu de 1.Impossible de tracer des lignes fines avec Java2D
J'utilise GeneralPath
comme forme de polygone. Les lignes fines sont tracées si j'utilise la même approche pour dessiner des formes Line2D
.
g2d.scale(100, 100);
g2d.setStroke(new BasicStroke(0.01f));
g2d.draw(theShape);
Nouvelle info: Si je supprime la ligne setStroke je reçois correctement une ligne de pixel 2, puisqu'une BasicStroke de 0.02f a été mis sur l'objet Graphics2D plus tôt.
Ceci est la vraie ligne de setStroke
g.setStroke(new BasicStroke((float) (1f/getRoot().scaleX)));
'ce que GetRoot Contrôlé() imprime scaleX'.? – aioobe
100. J'ai déjà vérifié qu'il est 0.01f en imprimant à la fois l'argument passé à BasicStoke et ce que getLineWidth renvoie pour getStroke –