Wie kann mit JavaFX ein Bild gezeichnet werden?
Im Beispiel wird ein BorderPane erzeugt,
auf das mittig ein Canvas-Objekt gesetzt
wird. Seine Methode getGraphicsContext2D()
ermittelt das GraphicsContext-Objekt, das
dann verwendet wird, um frei nach Josef Albers' "Hommage
to the Square" drei Quadrate unterschiedlicher Farbe auf
den Canvas-Node mit der ebenfalls
eingefärbten Scene zu zeichnen.
public class CanvasBsp extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
BorderPane root = new BorderPane();
Scene s = new Scene(root, 300, 300, Color.rgb(230, 185, 120));
final Canvas canvas = new Canvas(300, 300);
root.setCenter(canvas);
drawSquares(canvas.getGraphicsContext2D());
primaryStage.setScene(s);
primaryStage.show();
}
private void drawSquares(GraphicsContext gc) {
gc.setFill(Color.rgb(255, 120, 35));
gc.fillRect(25, 30, 250, 250);
gc.setFill(Color.rgb(255, 135, 5));
gc.fillRect(60, 85, 180, 180);
gc.setFill(Color.rgb(5, 180, 180));
gc.fillRect(85, 125, 130, 130);
}
}
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.