2016-04-08 62 views
2

對於可以映射噪聲函數(-1到1倍的值)的編輯器顏色我需要一些控制,讓我定義的顏色漸變,所以像 值 - 0是黑色 - 0.3是黃色 - 0.8是紅色的 - 1是白色的 所以整個漸變從黑色到白色,這是可編輯的, 有沒有像JavaFX內置的東西,或者我必須寫我自己的控制?JavaFX是否有任何顏色漸變編輯器控件?

基本上水木清華這樣的:提前

回答

3

其實,場景生成器具有強大的漸變編輯器,允許將多個站:

Scene Builder

該控制稱爲PaintPicker,而且是現場組裝套件,你可以從here下載的一部分。

一旦你有了jar,你可以使用該組件。

這是一個簡短的片段來展示如何輕鬆地將它添加到您的一幕:

@Override 
public void start(Stage primaryStage) { 
    VBox root = new VBox(); 
    root.setAlignment(Pos.CENTER); 
    root.setPadding(new Insets(10)); 

    PaintPickerController controller; 
    final FXMLLoader loader = new FXMLLoader(); 
    loader.setLocation(PaintPicker.class.getResource("PaintPicker.fxml")); 

    try { 
     final VBox picker = loader.load(); 
     controller = loader.getController(); 
     controller.paintProperty().addListener((obs, ov, nv) -> System.out.println("Paint: " + nv)); 
     root.getChildren().add(picker); 
    } catch (IOException ex) { 
     throw new IllegalStateException(ex); 
    } 

    Scene scene = new Scene(root, 320, 600); 

    primaryStage.setTitle("SceneBuilder PaintPicker"); 
    primaryStage.setScene(scene); 
    primaryStage.show(); 
} 

Paint Picker

利用偵聽器,你會立即得到梯度:

Paint: linear-gradient(from 60.096% 38.461% to 47.115% 45.192%, 
    reflect, 0xda7777ff 0.0%, 0x226621ff 28.667%, 0xf2ff1cff 49.333%, 
    0xff1c5fff 73.0%, 0xffffffff 100.0%) 
0

enter image description here

感謝我認爲你正在尋找一個ColorPicker。關於如何使用它是JavaFX tutorials page

enter image description here

更多信息。

+0

我需要多個顏色每梯度,多數民衆贊成我的問題,與顏色選擇器我只能選擇1顏色 –

+0

我不明白。您控制的圖片顯示的東西非常類似於顏色選擇器。 – ItachiUchiha

+0

否它具有多個拇指,因此可以定義漸變從紅色變爲黃色,然後變爲黑色,然後變爲白色或類似的形狀 –