package com.xiuye.javafx;
import javafx.application.Application;
//import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.image.PixelWriter;
import javafx.scene.layout.FlowPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.ArcType;
import javafx.stage.Stage;
public class EighthDemo extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("JavaFX Canvas");
FlowPane root = new FlowPane();
root.setHgap(10);
root.setVgap(10);
Canvas canvas = new Canvas(300,250);
GraphicsContext gc = canvas.getGraphicsContext2D();
drawShapes(gc);
root.getChildren().add(canvas);
Image img = new Image("file:///D:/programming/DevelopingProjects/JavaAPILearning/background.jpg");
ImageView iv = new ImageView(img);
root.getChildren().add(iv);
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
private void drawShapes(GraphicsContext gc) {
PixelWriter pw = gc.getPixelWriter();
for(int i=0;i<30;i++){
for(int j=0;j<30;j++){
pw.setColor(i, j, Color.RED);
}
}
gc.setFill(Color.GREEN);
gc.setStroke(Color.BLUE);
gc.setLineWidth(5);
gc.strokeLine(40, 10, 10, 40);
gc.fillOval(10, 60, 30, 30);
gc.strokeOval(60, 60, 30, 30);
gc.fillArc(10, 110, 30, 30, 45, 240, ArcType.OPEN);
gc.fillArc(60, 110, 30, 30, 45, 240, ArcType.CHORD);
gc.fillArc(110, 110, 30, 30, 45, 240, ArcType.ROUND);
gc.strokeArc(10, 160, 30, 30, 45, 240, ArcType.OPEN);
gc.strokeArc(60, 160, 30, 30, 45, 240, ArcType.CHORD);
gc.strokeArc(110, 160, 30, 30, 45, 240, ArcType.ROUND);
//多边形(面)
gc.fillPolygon(new double[]{10, 40, 10, 40},
new double[]{210, 210, 240, 240}, 4);
//多边形(线)
gc.strokePolygon(new double[]{60, 90, 60, 90},
new double[]{210, 210, 240, 240}, 4);
//折线
gc.strokePolyline(new double[]{110, 140, 110, 140},
new double[]{210, 210, 240, 240}, 4);
Image img = new Image("file:///D:/programming/DevelopingProjects/JavaAPILearning/background.jpg");
gc.drawImage(img, 100, 100);
}
public static void main(String[] args) {
launch(args);
}
}
JavaFX Demo4
最新推荐文章于 2021-02-26 01:07:45 发布