svg line with some attributes ok
This commit is contained in:
@@ -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()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user