我一直试图为两条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);
}
}
我做错了什么? 提前谢谢。
答案 0 :(得分:2)
看看 Traceback (most recent call last):
File "/usr/local/bin/pip", line 6, in <module>
from pkg_resources import load_entry_point
File "/Users/tamarafrankel/Library/Python/2.7/lib/python/site- packages/pkg_resources/__init__.py", line 70, in <module>
import packaging.version
ImportError: No module named packaging.version
做了什么:
将SVG路径字符串附加到当前路径。如果没有电流 然后,字符串必须以任一类型的移动命令开始。
虽然它们看起来是分开的,但实际上你对两种形状使用相同的路径。您希望每次开始绘制新路径时都使用GraphicsContext#appendSVGPath(String svgpath)
。