對於可以映射噪聲函數(-1到1倍的值)的編輯器顏色我需要一些控制,讓我定義的顏色漸變,所以像 值 - 0是黑色 - 0.3是黃色 - 0.8是紅色的 - 1是白色的 所以整個漸變從黑色到白色,這是可編輯的, 有沒有像JavaFX內置的東西,或者我必須寫我自己的控制?JavaFX是否有任何顏色漸變編輯器控件?
基本上水木清華這樣的:提前
對於可以映射噪聲函數(-1到1倍的值)的編輯器顏色我需要一些控制,讓我定義的顏色漸變,所以像 值 - 0是黑色 - 0.3是黃色 - 0.8是紅色的 - 1是白色的 所以整個漸變從黑色到白色,這是可編輯的, 有沒有像JavaFX內置的東西,或者我必須寫我自己的控制?JavaFX是否有任何顏色漸變編輯器控件?
基本上水木清華這樣的:提前
其實,場景生成器具有強大的漸變編輯器,允許將多個站:
該控制稱爲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: 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%)
我需要多個顏色每梯度,多數民衆贊成我的問題,與顏色選擇器我只能選擇1顏色 –
我不明白。您控制的圖片顯示的東西非常類似於顏色選擇器。 – ItachiUchiha
否它具有多個拇指,因此可以定義漸變從紅色變爲黃色,然後變爲黑色,然後變爲白色或類似的形狀 –