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 import math, random
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
import svgwrite import svgwrite
import datetime
def generatePolygon( ctrX, ctrY, aveRadius, irregularity, spikeyness, numVerts ) : def generatePolygon( ctrX, ctrY, aveRadius, irregularity, spikeyness, numVerts ) :
'''Start with the centre of the polygon at ctrX, ctrY, '''Start with the centre of the polygon at ctrX, ctrY,
@@ -61,22 +64,28 @@ def clip(x, min, max) :
elif( x > max ) : return max elif( x > max ) : return max
else : return x else : return x
# create maps export folder # 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: try:
os.makedirs(directory) os.makedirs(directory)
except OSError as exception: except OSError as exception:
if exception.errno != errno.EEXIST: if exception.errno != errno.EEXIST:
raise 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) 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")) svg = svgwrite.Drawing(filename = directory+"/map"+index+".svg",size = ("1000px", "1000px"))
print(len(verts)) # print(len(verts))
for v in range(0, len(verts)): for v in range(0, len(verts)):
print('---- '+str(v)+' ----') # print('---- '+str(v)+' ----')
# p1 = verts[v] p1 = verts[v]
# p2 = verts[0] if v >= len(verts) else verts[v+1]; p2 = verts[0] if v >= len(verts)-1 else verts[v+1];
# print(p1) # print(p1)
# print(p2) # 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() svg.save()