Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将大量SVG图像堆叠为图层问题_Python_Svg - Fatal编程技术网

Python 将大量SVG图像堆叠为图层问题

Python 将大量SVG图像堆叠为图层问题,python,svg,Python,Svg,因此,我想在Python中将许多svg图像堆叠在彼此的顶部。 我正利用这一点: import svgutils.transform as st template = st.fromfile('firstLayer.svg') second_svg = st.fromfile('secondLayer.svg') template.append(second_svg) template.save('merged.svg') 从技术上讲,这是可行的 唯一的问题是,例如,在我的第一个图像(模板)中

因此,我想在Python中将许多svg图像堆叠在彼此的顶部。 我正利用这一点:

import svgutils.transform as st

template = st.fromfile('firstLayer.svg')
second_svg = st.fromfile('secondLayer.svg')
template.append(second_svg)
template.save('merged.svg')
从技术上讲,这是可行的

唯一的问题是,例如,在我的第一个图像(模板)中,我有9个类(CLS1-9),在第二个图像中,我有4个类(CLS1-4)。 在堆叠类时,类的名称不会改变,因此图像看起来很奇怪,因为样式是混合的。
是否存在相对于现有SVG类名更改类名的解决方案?例如,如果我将第二层堆叠在第一层上,则将添加的任何其他SVG图像的类名将从1-4更改为10-13,依此类推?

如果有人发现自己是由于相同的问题,我没有找到一个已经制作好的Python解决方案来重写元素中的类名和每个路径的class属性,所以我自己创建了一个:


您可以随意使用它:)

您需要重写
元素中的类名以及每个文件的
class
属性。首先将SVG解析为XML将使操作更容易。是的,我非常清楚这应该做到。实际上,我问过有没有人以前做过这种东西,因为它是有意义的,这已经是书面的了