javafx
Duk
Sök…
Introduktion
En Canvas
är en JavaFX- Node
, representerad som ett tomt, rektangulärt område som kan visa bilder, former och text. Varje Canvas
innehåller exakt ett GraphicsContext
objekt som ansvarar för att ta emot och buffra dragningssamtal, som i slutet återges på skärmen av Canvas
.
Grundläggande former
GraphicsContext
tillhandahåller en uppsättning metoder för att rita och fylla geometriska former. Typiskt behöver dessa metoder koordinater för att skickas som deras parametrar, antingen direkt eller i form av en matris med double
värden. Koordinaterna är alltid relativt Canvas
, vars ursprung är i det övre vänstra hörnet.
Obs: GraphicsContext
ritar inte utanför Canvas
gränserna, dvs att försöka rita utanför Canvas
området som definieras av dess storlek och ändra storlek på det efteråt ger inget resultat.
Exemplet nedan visar hur man drar tre halvtransparenta fyllda geometriska former med en svart streck.
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);