How to set an image in a circle

前端 未结 1 1037
遇见更好的自我
遇见更好的自我 2021-01-24 07:25

How could I set an image in a circle. Is there a better way to set an image with a circled frame? (particularly the image frame on windows 10 login screen)

Circl         


        
1条回答
  •  隐瞒了意图╮
    2021-01-24 07:59

    ImagePattern is what you are looking for.

    It fills a Shape with an Image, so your code might look like this

    cir2.setFill(new ImagePattern(Image));
    

    test code

     public void start(Stage primaryStage) {
        try {
            BorderPane root = new BorderPane();
            root.setPadding(new Insets(10));
            Scene scene = new Scene(root,400,400);
            Label l = new Label("SHAPE IMAGE OF MY SISTER");
            l.setFont(Font.font(Font.getFontNames().get(23), FontWeight.EXTRA_BOLD, 14));
            l.setAlignment(Pos.CENTER);
            l.setPrefWidth(Double.MAX_VALUE);
            root.setTop(l);
            ///////////////important code starts from here
            Circle cir2 = new Circle(250,250,120);
            cir2.setStroke(Color.SEAGREEN);
            Image im = new Image("https://juicylinksmag.files.wordpress.com/2016/02/juliet-ibrahim.jpg",false);
            cir2.setFill(new ImagePattern(im));
            cir2.setEffect(new DropShadow(+25d, 0d, +2d, Color.DARKSEAGREEN));
            //////////////important code ends here
            root.setCenter(cir2);
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    

    0 讨论(0)
提交回复
热议问题