forked from yannroth/panel-divider
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample.py
More file actions
40 lines (29 loc) · 1.49 KB
/
Copy pathexample.py
File metadata and controls
40 lines (29 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import panelDivider as pd
from PIL import Image, ImageDraw, ImageFont
# TODO: Add a way to bring panels in from a db
# TODO: bring boards and panels in from a csv
boards = []
boards.append(pd.Board(width=20, length=40, thickness=.5, name='Rside'))
boards.append(pd.Board(width=20, length=40, thickness=.5, name='Lside'))
boards.append(pd.Board(width=20, length=30, thickness=.75, name='Front'))
boards.append(pd.Board(width=20, length=30, thickness=.75, name='Back'))
panels = []
panels.append(pd.Board(width=48,length=96,thickness=.5,name="half inch plywood"))
panels.append(pd.Board(width=48, length=96, thickness=.75, name="three quearter plywood"))
div = pd.Divider(boards, panels, 0)
output = div.divide()
panelsUsed = []
for item in output:
if item[3] not in panelsUsed:
panelsUsed.append(item[3])
for panel in panelsUsed:
im = Image.new('RGB', ((panels[0].width), (panels[0].length)), (128, 128, 128))
draw = ImageDraw.Draw(im)
for o in output:
if o[3] == panel:
print("Board \"" + o[1] + "\" #" + str(o[2]) + " on panel \"" + o[3] + "\" #" + str(o[4]) + " at (" + str(o[0].x) + ", " + str(o[0].y) + ", " + str(o[0].w) +", " + str(o[0].h) +")")
draw.rectangle((o[0].x, o[0].y, o[0].w, o[0].h), fill=(0, 192, 192), outline=(255, 255, 255))
# font = ImageFont.load_default()
# draw.text((o[0].x+2, o[0].y+2), str(o[0].h) + "," + str(o[0].w), font=font)
im.save(panel+'_imagedraw.jpg', quality=95)
im.show()