svg line with some attributes ok

This commit is contained in:
Bachir Soussi Chiadmi
2017-03-14 16:11:16 +01:00
parent 259ed6b860
commit 01f0a762e3
+36 -13
View File
@@ -7,6 +7,9 @@ import os, glob, errno
import math, random
from PIL import Image, ImageDraw
import svgwrite
import datetime
def generatePolygon( ctrX, ctrY, aveRadius, irregularity, spikeyness, numVerts ) :
'''Start with the centre of the polygon at ctrX, ctrY,
@@ -61,22 +64,28 @@ def clip(x, min, max) :
elif( x > max ) : return max
else : return x
# create maps export folder
directory = "maps"
base = "maps"
now = datetime.datetime.now()
now = now.strftime("%Y-%m-%d_%X")
print(now)
directory = base + "/" + now
try:
os.makedirs(directory)
except OSError as exception:
if exception.errno != errno.EEXIST:
raise
# remove old image
# os.chdir(directory)
# files=glob.glob('*')
# for filename in files:
# os.unlink(filename)
for i in range(0, 1):
verts = generatePolygon( ctrX=500, ctrY=500, aveRadius=300, irregularity=1, spikeyness=0.15, numVerts=13 )
for i in range(0, 99):
nv = random.randint(10,20)
verts = generatePolygon( ctrX=500, ctrY=500, aveRadius=300, irregularity=1, spikeyness=0.15, numVerts=nv )
index = str(i) if i > 9 else '0'+str(i)
@@ -88,14 +97,28 @@ for i in range(0, 1):
svg = svgwrite.Drawing(filename = directory+"/map"+index+".svg",size = ("1000px", "1000px"))
print(len(verts))
# print(len(verts))
for v in range(0, len(verts)):
print('---- '+str(v)+' ----')
# p1 = verts[v]
# p2 = verts[0] if v >= len(verts) else verts[v+1];
# print('---- '+str(v)+' ----')
p1 = verts[v]
p2 = verts[0] if v >= len(verts)-1 else verts[v+1];
# print(p1)
# print(p2)
# svg.add(svg.line(p1, p2))
if random.randint(0,10) > 8:
sda = "4 4"
sdo = "5"
else:
sda = "0 0"
sdo = "0"
line = svg.line(p1, p2,
stroke_width = "2",
stroke = "black",
stroke_linecap = "round",
stroke_dasharray = sda,
stroke_dashoffset = sdo)
svg.add(line)
svg.save()