javafx
Toile
Recherche…
Introduction
Un Canvas
est un Node
JavaFX, représenté par une zone rectangulaire vierge pouvant afficher des images, des formes et du texte. Chaque Canvas
contient exactement un objet GraphicsContext
, chargé de recevoir et de mettre en mémoire tampon les appels de dessin qui, à la fin, sont rendus à l'écran par Canvas
.
Formes de base
GraphicsContext
fournit un ensemble de méthodes pour dessiner et remplir des formes géométriques. En règle générale, ces méthodes ont besoin de coordonnées comme paramètres, soit directement, soit sous la forme d'un tableau de valeurs double
. Les coordonnées sont toujours relatives au Canvas
, dont l'origine est située dans le coin supérieur gauche.
Remarque: GraphicsContext
ne dessine pas en dehors des limites du Canvas
, c’est-à-dire qu’essayer de dessiner en dehors de la zone de Canvas
définie par sa taille et de le redimensionner ultérieurement ne donnera aucun résultat.
L'exemple ci-dessous montre comment dessiner trois formes géométriques remplies semi-transparentes avec un trait noir.
Canvas canvas = new Canvas(185, 70);
GraphicsContext gc = canvas.getGraphicsContext2D();
// Set stroke color, width, and global transparency
gc.setStroke(Color.BLACK);
gc.setLineWidth(2d);
gc.setGlobalAlpha(0.5d);
// Draw a square
gc.setFill(Color.RED);
gc.fillRect(10, 10, 50, 50);
gc.strokeRect(10, 10, 50, 50);
// Draw a triangle
gc.setFill(Color.GREEN);
gc.fillPolygon(new double[]{70, 95, 120}, new double[]{60, 10, 60}, 3);
gc.strokePolygon(new double[]{70, 95, 120}, new double[]{60, 10, 60}, 3);
// Draw a circle
gc.setFill(Color.BLUE);
gc.fillOval(130, 10, 50, 50);
gc.strokeOval(130, 10, 50, 50);