【问题标题】:Is there any way to build a path gradient in JavaFX?有没有办法在 JavaFX 中构建路径渐变?
【发布时间】:2014-07-04 05:55:33
【问题描述】:

我需要使用路径渐变(沿路径改变笔触颜色),但目前找不到使用当前 JavaFX API 的方法。请注意,这与将线性渐变应用于路径元素不同。这似乎适用于直线段,但在某些弧形配置和多个连接的路径元素中失败。

有人会就解决这个问题的方法提供任何建议吗?

【问题讨论】:

    标签: java javafx javafx-8


    【解决方案1】:

    您可以尝试以下方法:

    @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 所说的他们不想要的。对于曲线,渐变被映射到曲线的边界,而不是沿着曲线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    相关资源
    最近更新 更多