Desenhar linhas e usar o Python para "loops"

From Scribus Wiki
Jump to navigation Jump to search
Este artigo é parte da seção de Scripts_e_Plugins.
Scripts para iniciantes Scripts de extensão/PyQt Questões sobre Py Plugins Outros
Voltar para a página principal

Versão em inglês.

Básico

Aqui vai uma outra borda, bem sem uso mas eu pelo menos aprendi um pouco mais sobre Python - o "for" loops precisa das seguintes linhas para serem indentadas. Também ajuda a compreender as coordenadas x e y do Scribus.

Introduz: CreateLine SetLineWidth SetLineColor and Python para loops.

from scribus import *
 Margins = (10, 10, 10, 10)
 if NewDoc(Paper_A4, Margins, Portrait, 1, Points, NoFacingPages, FirstPageRight):

 #some constants
 a = 5      #espessura da linha
 b="Blue"
 m=33      #Preenchimento da sombra, valores de 0 à 100
 g60="Grey60"
 spx=30      #Começo do X
 spy=30      #Cemeço do Y
 a4w=595             #Largura da A4 getPageSize ?
 a4d=842             #Profundidade da A4 getPageSize ?

 #Desenha as linhas
 d = CreateLine(spx-a/2,spy,a4w-30+a/2,spy) #Topo
 setLineColor(g60, d)
 setLineWidth(a, d)
 e = CreateLine(spx,spy,spx,a4d-27)  #LH vertical
 setLineWidth(a, e)
 setLineColor(g60, e)
 f = CreateLine(a4w-30,spy,a4w-30,a4d-27)       #RH vertical
 setLineWidth(a, f)
 setLineColor(g60, f)
 g = CreateLine(spx-a/2,a4d-27,a4w-30+a/2,a4d-27)#Base
 setLineWidth(a, g)
 setLineColor(g60, g)

 #Desenha os "buracos"
 for i in range(0,int(770/10)):
  l = CreateRect(spx+5,spy+10+10*i,10,5)
  setFillShade(m,l)
  setLineColor(g60,l)           
 for i in range(0,int(770/10)):
  k = CreateRect(a4w-45,spy+10+10*i,10,5)
  setFillShade(m,k)             
  setLineColor(g60,k)

 SaveDocAs("Fancy_border.sla") #Tenha certeza que isto é gravável