Présentation des différentes formes plus ou moins complexes qu’AWT nous permet de gérer.
Présentation des formes
- Shape
- Rectangle
- Ellipse
- Path
- Area
Héritent de Shape : Polygon, GeneralPath, Line2D, QuadCurve2D, CubicCurve2D, Area, RectangularShape.
Héritent de RectangularShape : Arc2D, Ellipse2D, Rectangle2D {Rectangle}, RoundRectangle2D.
Créer par les coordonnées représentant la diagonale :rect.setFrameFromDiagonal
Fournir x, y, longueur, hauteur, angleDeDebut, angle de Fin, et la closure.
La closure : Arc2D.PIE (Aucune fermeture), Arc2D.OPEN (2 segments reliant début courbe et Centre), Arc2D.CHORD (un segment reliant début et fin de courbe).
Gestion des angles déformés :Math.toDegrees(Math.atan2(Math.sin(angle)*width), Math.toDegrees(Math.cos(angle)*height))
Suite de poins. moveTo(x,y)
, lineTo(x,y)
, curveTo(x1,y1,x2,y2, endX, endY)
, closePath
, append(shape)
.
add
: union de deux shapes. substract : A et non B, intersect, exclusiveOr.
Les outils
- draw
- setStroke
dessine le contour.
BasicStroke(epaisseur, typeBrosse, typeJointure, float[ motif de ligne (ligne alternée))
Le remplissage
GradientPaint(point1, couleur1, point2, couleur2)
TexturePaint(bufferedImage, Rectangle2D anchor)
Fournit un dégradé entre les points 1 et 2, le reste étant de couleur unie. Le dégradé peut être répété en passant le paramètre cyclic à true.
buffer = new BufferedImage(width, height, TYPE_INT_ARGB); Graphics2D g2 = buffer.createGraphics;
Image img = Toolkit.getDefaultToolkit().getImage(source); MediaTracker tracker = new MEdiaTracker(this); tracker.addImage(image, 0); try { tracker.waitForID(0); } catch (InterruptedException ie) {} buffer.createGraphics().drawImage(image, 0, 0, null);