List of usage examples for javafx.scene.canvas GraphicsContext fillOval
public void fillOval(double x, double y, double w, double h)
From source file:Main.java
@Override public void start(Stage stage) { Canvas canvas = new Canvas(300, 100); GraphicsContext gc = canvas.getGraphicsContext2D(); gc.setLineWidth(2.0);/* w w w. j a va 2 s . c o m*/ gc.setFill(Color.RED); gc.strokeRoundRect(10, 10, 50, 50, 10, 10); gc.fillOval(70, 10, 50, 20); gc.strokeText("Hello Canvas", 150, 20); Pane root = new Pane(); root.getChildren().add(canvas); Scene scene = new Scene(root); stage.setScene(scene); stage.setTitle(""); stage.show(); }
From source file:qupath.lib.gui.plots.ScatterPlot.java
public void drawPlot(GraphicsContext g, Rectangle2D region, int maxPoints) { g.save();/*ww w .j a v a 2s . c om*/ g.beginPath(); g.moveTo(region.getMinX(), region.getMinY()); g.lineTo(region.getMaxX(), region.getMinY()); g.lineTo(region.getMaxX(), region.getMaxY()); g.lineTo(region.getMinX(), region.getMaxY()); g.closePath(); g.clip(); // int pad = 10; double scaleX = region.getWidth() / (maxX - minX); double scaleY = region.getHeight() / (maxY - minY); g.setLineWidth(1.5f); // g.setStroke(javafx.scene.paint.Color.GRAY); // g.strokeRect(region.getX(), region.getY(), region.getWidth(), region.getHeight()); g.translate(region.getMinX(), region.getMinY()); // g2d.drawLine(0, 0, 0, region.height); // g2d.drawLine(0, region.height, region.width, region.height); double increment; if (maxPoints < 0 || x.length <= maxPoints) increment = 1; else increment = (double) x.length / maxPoints; for (double i = 0; i < x.length; i += increment) { int ind = (int) i; double xx = x[ind]; double yy = y[ind]; // // Skip if out of range // if (xx < minX || xx > maxX || yy < minY || yy > maxY) // continue; double xo = (xx - minX) * scaleX - markerSize / 2; double yo = region.getHeight() - (yy - minY) * scaleY - markerSize / 2; Color cDraw = colorDraw == null ? null : colorDraw[ind]; if (fillMarkers) { Color cFill = colorFill[ind] == null ? cDraw : colorFill[ind]; if (cFill != null) { g.setFill(cFill); g.fillOval(xo, yo, markerSize, markerSize); // Don't need to draw if it would be the same color anyway if (cFill == cDraw) continue; } } if (cDraw != null) { g.setStroke(cDraw); g.strokeOval(xo, yo, markerSize, markerSize); } } g.restore(); }