How to draw image rotated on JavaFX Canvas?

后端 未结 4 907
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-06 20:21

I want to draw image on canvas rotated. with drawImage(image, 0, 0) I can draw image but how can I rotate that image for example 45 degrees and draw it, then dr

4条回答
  •  醉话见心
    2020-12-06 20:44

    The above issue can also be solved by creating different layers of canvas.

    private void createLayers(){
            // Layers 1&2 are the same size
            layer1 = new Canvas(300,250);
            layer2 = new Canvas(300,250);
    
            // Obtain Graphics Contexts
            gc1 = layer1.getGraphicsContext2D();
            gc1.setFill(Color.GREEN);
            gc1.fillOval(50,50,20,20);
            gc1.getCanvas().setRotate(45);
            gc2 = layer2.getGraphicsContext2D();
            gc2.setFill(Color.BLUE);
            gc2.fillOval(100,100,20,20);
            gc.getCanvas().setRotate(135);
        }
            ...
    
     private void addLayers(){
            // Add Layers
            borderPane.setTop(cb);        
            Pane pane = new Pane();
            pane.getChildren().add(layer1);
            pane.getChildren().add(layer2);
            layer1.toFront();
            borderPane.setCenter(pane);    
            root.getChildren().add(borderPane);
        }
    

提交回复
热议问题