javafx
Canvas
Zoeken…
Invoering
Een Canvas
is een JavaFX- Node
, weergegeven als een leeg, rechthoekig gebied dat afbeeldingen, vormen en tekst kan weergeven. Elk Canvas
bevat precies één GraphicsContext
object, verantwoordelijk voor het ontvangen en bufferen van de draw-aanroepen, die uiteindelijk door Canvas
op het scherm worden weergegeven.
Basisvormen
GraphicsContext
biedt een reeks methoden om geometrische vormen te tekenen en te vullen. Gewoonlijk moeten deze methoden worden doorgegeven als hun parameters, hetzij direct, hetzij in de vorm van een reeks double
waarden. De coördinaten zijn altijd relatief ten opzichte van het Canvas
, waarvan de oorsprong in de linkerbovenhoek ligt.
Opmerking: GraphicsContext
tekent niet buiten de Canvas
grenzen. Als u probeert buiten het Canvas
gebied te tekenen dat is gedefinieerd door de grootte ervan en het formaat daarna wijzigen, levert dit geen resultaat op.
Het onderstaande voorbeeld laat zien hoe u drie semi-transparante gevulde geometrische vormen kunt tekenen met een zwarte lijn.
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);