web-dev-qa-db-fra.com

Méthode Triangle Draw

J'ai du mal à dessiner un triangle avec la méthode draw(Graphics g) en Java . Je peux dessiner un rectangle comme ceci:

public void draw(Graphics g) {
    g.setColor(colorFill);
    g.fillRect(p.x, p.y, width, height);
    g.setColor(colorBorder);
    g.drawRect(p.x, p.y, width, height);
    drawHandles(g);

Où p représente "le coin supérieur gauche des formes". Comment pourrais-je dessiner le triangle de la même manière?

Quelqu'un pourrait-il me donner un exemple pour un triangle standard?

17
Jon Snow

Il n'y a pas de méthode drawTriangle ni dans Graphics ni Graphics2D. Vous devez le faire vous-même. Vous pouvez dessiner trois lignes à l'aide de la méthode drawLine ou utiliser l'une de ces méthodes:

Ces méthodes fonctionnent avec des polygones. Vous pouvez modifier le préfixe draw en fill lorsque vous souhaitez remplir le polygone défini par l'ensemble de points. J'ai inséré les liens de documentation. Jetez un coup d'œil pour apprendre à les utiliser.

Il y a aussi la classe GeneralPath . Il peut être utilisé avec Graphics2D, qui est capable de dessiner Formes . Regarde:

27
davidbuzatto

Vous devriez essayer d'utiliser l'API Shapes.

Jetez un coup d’œil à JPanel repaint d’une autre classe consacrée au dessin de triangles, regardez la méthode getPath pour quelques idées

Vous devriez également lire GeneralPath & Drawing Arbitrary Shapes .

Cette méthode est très facile à appliquer AffineTransformation s à

3
MadProgrammer

Utilisez un algorithme de ligne pour relier le point A au point C et, dans une boucle externe, laissez le point A errer vers le point B avec le même algorithme de ligne et avec les coordonnées errantes, répétez le tracé de cette ligne. Vous pouvez probablement également inclure un delta z avec lequel est également incrémenté de manière itérative. Pour l’algorithme de ligne, calculez simplement deux ou trois pentes pour le changement delta de chaque coordonnée et définissez une pente sur 1 après avoir modifié les deux autres proportionnellement afin qu’elles soient inférieures à 1. Ceci est très important pour dessiner des zones géométriques fermées entre des particules de maillage connectées. Examinez l'exemple des nœuds élastiques Qt et imaginez à présent dessiner des triangles entre les nœuds après avoir étiré celui-ci sur un squelette . Tant qu'il restera en ligne

1
Chuck

Le triangle de dessin n’est pas fourni avec la bibliothèque Java standard. J'ai vu un exemple de code ici:

http://www.dreamincode.net/forums/topic/52352-draw-line-triangle/

1
Naidu Ypvs

il n'y a pas de commande directe pour dessiner Triangle. Pour Dessin de triangle, nous devons utiliser le concept de lignes ici.

c'est-à-dire, g.drawLines (coordonnées de points)

0
somnath pal prince

Il n’existe pas de méthode directe pour dessiner un triangle . Vous pouvez utiliser la méthode drawPolygon () pour cela . Elle prend trois paramètres de la forme suivante: drawPolygon(int x[],int y[], int number_of_points);Pour dessiner un triangle: (Spécifiez les coordonnées x dans les coordonnées x et y du tableau y et le nombre de points qui seront égaux aux éléments des deux tableaux. Comme dans le triangle, vous aurez 3 coordonnées x et 3 coordonnées y, ce qui signifie que vous avez 3 points dans total.) Supposons que vous souhaitiez dessiner le triangle en utilisant les points suivants: (100,50),(70,100),(130,100)Faites ce qui suit à l'intérieur de public void Paint(Graphics g):

int x[]={100,70,130};
int y[]={50,100,100};
g.drawPolygon(x,y,3);

De même, vous pouvez dessiner n'importe quelle forme en utilisant autant de points que vous le souhaitez.

0
Oshin