gpt4 book ai didi

java - 为 svg 路径设置不同的颜色

转载 作者:行者123 更新时间:2023-12-02 03:04:38 25 4
gpt4 key购买 nike

我一直在尝试为两个 SVG 路径设置不同的颜色。然而,似乎其中一个 SVG 路径具有与第二个相同的属性。这是代码:

public class MainApp extends Application {

@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Drawing Operations Test");
Group root = new Group();
Canvas canvas = new Canvas(400, 400);
GraphicsContext gc = canvas.getGraphicsContext2D();

gc.setFill(Color.YELLOW);
gc.setStroke(Color.YELLOW);
gc.appendSVGPath("M 50 50 L 150 50 L 100 150 z");
//gc.fill(); //If I uncomment these two lines, the second
//gc.stroke(); //path won't appear

gc.setFill(Color.RED);
gc.setStroke(Color.BLUE);
gc.appendSVGPath("M 200 50 L 300 50 L 250 150 z");
gc.fill();
gc.stroke();

root.getChildren().add(canvas);
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}

我原以为第一条路径是黄色,第二条路径是红色,但我得到了这个结果 enter image description here

我做错了什么?提前致谢。

最佳答案

看看 GraphicsContext#appendSVGPath(String svgpath) 的作用:

Appends an SVG Path string to the current path. If there is no current path the string must then start with either type of move command.

虽然它们看起来是分开的,但实际上您对这两个形状使用相同的路径。每次开始绘制新路径时,您都需要使用gc.beginPath();

关于java - 为 svg 路径设置不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41907058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com