gpt4 book ai didi

python - 如何使用带有 Python 的 svgwrite 将 SVG 过滤器应用于组?

转载 作者:太空宇宙 更新时间:2023-11-04 01:18:14 25 4
gpt4 key购买 nike

有没有人有关于如何使用 svgwrite 将 SVG 过滤器应用于 SVG 组的示例?

这是我正在尝试做的事情:

import svgwrite

dwg = svgwrite.Drawing('test.svg', profile='full')
grp = dwg.g()
grp.add(dwg.rect(insert=(5,5),size=(20,20)))

filtr = dwg.defs.add( dwg.filter(id="Ga",filterUnits="userSpaceOnUse") )
feGauss = filtr.feGaussianBlur()

grp.filter = feGauss # This does not work
dwg.add(grp)
dwg.save()

结果没有按预期通过筛选器进入组。

>>> dwg.tostring()
u'<svg baseProfile="full" height="100%" version="1.1" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink"><defs /><g><rect height="20" width="20" x="5" y="5" /></g></svg>'

非常感谢任何帮助!

最佳答案

下面是对具有单个矩形的组使用简单模糊滤镜的示例。更多我的 svgwrite 示例可以在 https://docs.google.com/folder/d/0BwFQiTKfux0qY1Y2d1hRdndtSEk/edit 找到。

#!/usr/bin/python3
# License: MIT
import svgwrite

progname = 'example_filter_on_group'

def create_svg(name):

svg_size_w = 900
svg_size_h = 1500
title_size = 20
y = 0
title = name + ': example of filter on a group'
dwg = svgwrite.Drawing(name, (svg_size_w, svg_size_h), debug=True)
# background will be white.
dwg.add(dwg.rect(insert=(0, 0), size=('100%', '100%'), fill='white'))

# create simple filter to blur rectangle
blur6_filter = dwg.defs.add(dwg.filter())
blur6_filter.feGaussianBlur(in_='SourceGraphic', stdDeviation=6)

# group with filter
g_f = dwg.add(dwg.g(filter=blur6_filter.get_funciri()))
g_f.add( dwg.rect(insert=(50, 50), size=(50, 50), fill='aqua'))

dwg.save()

if __name__ == '__main__':
create_svg(progname + '.svg')
  • 劳伦斯

关于python - 如何使用带有 Python 的 svgwrite 将 SVG 过滤器应用于组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22999020/

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