javafx
Tela
Ricerca…
introduzione
A Canvas
è un Node
JavaFX, rappresentato come un'area vuota e rettangolare, in grado di visualizzare immagini, forme e testo. Ogni Canvas
contiene esattamente un oggetto GraphicsContext
, responsabile della ricezione e del buffering delle chiamate draw, che, alla fine, vengono renderizzate sullo schermo da Canvas
.
Forme di base
GraphicsContext
fornisce una serie di metodi per disegnare e riempire forme geometriche. In genere, questi metodi richiedono che le coordinate vengano passate come parametri, direttamente o sotto forma di una matrice di valori double
. Le coordinate sono sempre relative alla Canvas
, la cui origine è nell'angolo in alto a sinistra.
Nota: GraphicsContext
non si disegna al di fuori dei limiti del Canvas
, ovvero tentare di disegnare all'esterno dell'area Canvas
definita dalle sue dimensioni e ridimensionarlo in seguito non produrrà alcun risultato.
L'esempio seguente mostra come disegnare tre forme geometriche piene semitrasparenti delineate con un tratto nero.
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);