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.

Inkscape 309

for i in xrange(quantidade):

# Cria um elemento para o texto

xmltexto = inkex.etree.Element(inkex.addNS('text','svg'))

xmltexto.text = texto

# Posiciona o elemento no documento

x = random.randint(0, largura) + (doc_largura - largura) / 2

xmltexto.set('x', str(x))

y = random.randint(0, altura) + (doc_altura - altura) / 2

xmltexto.set('y', str(y))

# Centraliza na vertical e na horizontal

# e muda a cor de preenchimento usando CSS

c = random.randint(100, 255)

style = {'text-align' : 'center',

'text-anchor': 'middle',

'fill': '#%02x%02x%02x' % (c, c - 30, c - 60)}

xmltexto.set('style', simplestyle.formatStyle(style))

# Coloca o texto na camada

camada.append(xmltexto)

if __name__ == '__main__':

rt = RandomText()

rt.affect()

Para que o Inkscape reconheça a nova extensão, é necessário criar um arquivo

XML com a configuração, que informa ao aplicativo os módulos e os

parâmetros usados pela extensão, incluindo os tipos, limites e valores padrão

desses parâmetros, para que ele possa interagir com o usuário através de uma

caixa de dialogo antes da execução para obter os valores desejados. Os

parâmetros são passados como argumentos na linha de comando quando o

script é executado.

Arquivo de configuração (randomtext.inx):

<?xml version="1.0" encoding="UTF-8"?>

<inkscape-extension

xmlns="http://www.inkscape.org/namespace/inkscape/extension">

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

Saved successfully!

Ooh no, something went wrong!