Drawing Lines and Python "For loops": Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
{{Scripting Index}}
Here is another border, pretty useless but at least I am learnt a bit about Python - the 'for' loops need their following lines to be indented.  
Here is another border, pretty useless but at least I am learnt a bit about Python - the 'for' loops need their following lines to be indented.  
Also helps to understand the x and y co-ordinates of Scribus
Also helps to understand the x and y co-ordinates of Scribus
Line 9: Line 11:


  #some constants
  #some constants
  a = 5 #line width
  a = 5     #line width
  b="Blue"
  b="Blue"
  m=33 #Fill shade, integer 0-100
  m=33     #Fill shade, integer 0-100
  g60="Grey60"
  g60="Grey60"
  spx=30 #Start X
  spx=30     #Start X
  spy=30 #Start Y
  spy=30     #Start Y
  a4w=595         #Width A4 getPageSize ?
  a4w=595             #Width A4 getPageSize ?
  a4d=842         #depth A4 getPageSize ?
  a4d=842             #depth A4 getPageSize ?


  #Draw the lines
  #Draw the lines
  d = CreateLine(spx-a/2,spy,a4w-30+a/2,spy) #Top
  d = CreateLine(spx-a/2,spy,a4w-30+a/2,spy) #Top
  setLineColor(g60, d)
  setLineColor(g60, d)
  setLineWidth(a, d)
  setLineWidth(a, d)
  e = CreateLine(spx,spy,spx,a4d-27) #LH vertical
  e = CreateLine(spx,spy,spx,a4d-27) #LH vertical
  setLineWidth(a, e)
  setLineWidth(a, e)
  setLineColor(g60, e)
  setLineColor(g60, e)

Revision as of 16:33, 16 February 2005

This article is part of the Scripts series.

Here is another border, pretty useless but at least I am learnt a bit about Python - the 'for' loops need their following lines to be indented. Also helps to understand the x and y co-ordinates of Scribus

Introduces: CreateLine SetLineWidth SetLineColor and Python for loops.

from scribus import *
Margins = (10, 10, 10, 10)
if NewDoc(Paper_A4, Margins, Portrait, 1, Points, NoFacingPages, FirstPageRight):
#some constants
a = 5      #line width
b="Blue"
m=33      #Fill shade, integer 0-100
g60="Grey60"
spx=30      #Start X
spy=30      #Start Y
a4w=595             #Width A4 getPageSize ?
a4d=842             #depth A4 getPageSize ?
#Draw the lines
d = CreateLine(spx-a/2,spy,a4w-30+a/2,spy) #Top
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)#Bottom
setLineWidth(a, g)
setLineColor(g60, g)
#Draw the "holes"
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") #Make sure this is writable