2017-02-08 66 views
-2

如何設置一個圓圈圖像。有沒有更好的方法來設置帶有圓圈框架的圖像? (特別是Windows上的圖像幀10登錄屏幕)如何在一個圓圈中設置圖像

Circle cir2 = new Circle(250,200,80); 
cir2.setStroke(Color.SEAGREEN); 
cir2.setFill(Color.SNOW); 
cir2.setEffect(new DropShadow(+25d, 0d, +2d, Color.DARKSEAGREEN)); 
+1

一種更好的方式又是什麼?發佈[mcve]然後提問。 – MBec

+0

如果我沒有提供有關我的問題的更多信息,我很抱歉。我得到的只是一個空白的圓圈 – ben

+1

[將圖像放在圓圈視圖中]可能的重複(http://stackoverflow.com/questions/20708295/put-a-image-in-a-circle-view) –

回答

2

ImagePattern是你在找什麼。

它填補與Image一個Shape,因此您的代碼可能看起來像這樣

cir2.setFill(new ImagePattern(Image)); 

enter image description here

測試代碼

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(); 
    } 
}