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 307

Inkscape

O editor de imagens vetoriais Inkscape 97 permite o uso do Python como

linguagem script, para a criação de extensões. O aplicativo utiliza o SVG como

formato nativo e implementa vários recursos previstos no padrão.

As extensões para o Inkscape servem principalmente para a implementação

de filtros e efeitos. Enquanto outros aplicativos (como o Blender) apresentam

uma API na forma de módulos para o interpretador, o Inkscape passa

argumentos pela linha de comando e transfere informações pela entrada e

saída padrão do sistema operacional, de forma similar aos utilitários de

tratamento de texto encontrados em sistemas UNIX. Com isso, a extensão tem

acesso apenas aos elementos que fazem parte do documento, e não a interface

gráfica do aplicativo. Qualquer interação com o usuário durante a execução

fica por conta da extensão.

A criação e manipulação das estruturas de dados é feita usando XML, como

prevê a especificação do formato SVG, permitindo com isso o uso de módulos

como o ElementTree.

Para simplificar o processo, o Inkscape provê o módulo chamado inkex, que

define estruturas básicas para extensões. Com esse módulo, novas extensões

podem ser criadas por herança a partir de uma classe chamada Effect.

Exemplo (randomtext.py):

#! /usr/bin/env python

# -*- coding: latin1 -*-

import random

import inkex

import simplestyle

class RandomText(inkex.Effect):

"""

Repete um texto aleatoriamente dentro de uma área.

97 Site oficial: http://www.inkscape.org/.

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

Saved successfully!

Ooh no, something went wrong!