2012-09-08 50 views
0

我正在构建一个SVG图像(树形图,椭圆节点),我想用椭圆线连接,但我想要的行开始于边缘椭圆。由于计算在边缘秋季开始或结束的线正好有是非常困难的,我是从椭圆的中心绘制的线,并寻找办法有叠加就行了椭圆,因此它掩盖了重叠部分,从而使得线条仅在椭圆的边缘开始出现。因为SVG通过元素顺序执行z顺序,所以如果我先创建连接线然后再创建连接线,那除了...SVG Z-顺序与不透明度<1

...我希望椭圆是蓝色或红色的填充不透明度=“0.15”,但是当我这样做时,线条就会显现出来。当然,这是有道理的,低透明度的东西不能完全掩盖它所涵盖的东西,但我无法弄清楚如何获得我想要的效果。我发现一个工作溶液:针对我想每个椭圆,我首先创建相同的大小和位置为1的白色填充和不透明性的椭圆形,并且掩模所述连接线充分它们重叠。然后,我在白色椭圆上叠加我想要渲染的椭圆,并使用0.15或0.15的蓝色或红色填充和不透明度。这看起来像我希望它看起来,但它感觉很烂。我忽略了一个优雅的解决方案吗?

+0

这听起来缺憾填充颜色。为什么你需要半透明背景?你是否需要通过节点显示其他元素或背景?或者你只需​​要颜色? – Duopixel

回答

0

你需要得到它的颜色已经呈现fill-opacity在白色背景之后。

把你的SVG的屏幕截图,在图形编辑软件,如Photoshop中打开它,使用滴管工具来检查所呈现的色彩和复制的十六进制值。然后用它作为fill-opacity="1"