21.12.2022 Views

python_para_desenvolvedores_2ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SVG 249

SVGFig

Os arquivos SVG podem manipulados através de bibliotecas XML, como o

ElementTree, mas é mais produtivo usar componentes que já projetados com

essa finalidade. O SVGFig é um módulo para SVG com muitos recursos

prontos. O módulo permite tanto usar as primitivas de desenho do SVG

diretamente, como também rotinas próprias de alto nível.

Exemplo (usando primitivas do SVG):

# -*- coding: latin1 -*-

# Importa SVGFig

from svgfig import *

cores = ['#dddddd', '#306090', '#609030', '#906030']

# Um retângulo usando SVG

# x, y -> posição do canto superior esquerdo

# width, height -> tamanho

# fill -> cor do preenchimento

# opacity -> opacidade (1.0 = 100%)

# stroke_width -> largura da linha (em pontos)

q1 = SVG('rect', x=0, y=0, width=100, height=100,

fill=cores[0], opacity='1.0', stroke_width='0.2pt')

# Primeiro círculo

# cx, cy -> posição do centro

# r -> raio

c1 = SVG('circle', cx=35, cy=65, r=30,

fill=cores[1], opacity='0.5', stroke_width='0.2pt')

# Segundo círculo

c2 = SVG('circle', cx=65, cy=65, r=30,

fill=cores[2], opacity='0.5', stroke_width='0.2pt')

# Terceiro círculo

c3 = SVG('circle', cx=50, cy=35, r=30,

fill=cores[3], opacity='0.5', stroke_width='0.2pt')

# Criando um grupo com as figuras

g = SVG('g', q1, c1, c2, c3)

# Salvando

g.save("tmp.svg")

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!