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);

Risultato



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow