6
我需要使用路徑漸變(沿路徑改變筆觸顏色),但目前無法找到使用當前JavaFX API執行此操作的方法。請注意,這與將線性漸變應用於路徑元素不同。這似乎適用於直線段,但在某些弧形配置和多個連接的路徑元素中失敗。有沒有什麼辦法可以在JavaFX中建立路徑漸變?
有人會提供任何建議,以解決這個問題的方法?
我需要使用路徑漸變(沿路徑改變筆觸顏色),但目前無法找到使用當前JavaFX API執行此操作的方法。請注意,這與將線性漸變應用於路徑元素不同。這似乎適用於直線段,但在某些弧形配置和多個連接的路徑元素中失敗。有沒有什麼辦法可以在JavaFX中建立路徑漸變?
有人會提供任何建議,以解決這個問題的方法?
你可以試試下面的辦法:
@Override
public void start(Stage primaryStage) {
Group root = new Group();
// CREATE CANVAS
final Canvas canvas = new Canvas(300, 250);
// GET GRAPHICS CONTEXT
final GraphicsContext gc = canvas.getGraphicsContext2D();
// DRAW THE SHAPE (LINE)
gc.beginPath();
gc.moveTo(50, 50); //Begin
gc.lineTo(150, 200); //End
gc.closePath();
// CREATE THE LINEAR EFFECT
LinearGradient lg = new LinearGradient(0, 0, 1, 1, true,
CycleMethod.REFLECT, new Stop(0.0, Color.RED),
new Stop(0.5, Color.GREEN),
new Stop(1.0, Color.BLUE));
// SET & STROKE WITH LINEAR
gc.setLineWidth(20);
gc.setStroke(lg);
gc.stroke();
//ADD CANVAS NODE TO ROOT
root.getChildren().add(canvas);
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
這正是OP說,他們不找。對於曲線,將漸變映射到曲線的邊界,而不是沿着曲線。 –