-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathHello_Spirograph_Record.py
53 lines (48 loc) · 1.55 KB
/
Hello_Spirograph_Record.py
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
41
42
43
44
45
46
47
48
49
50
51
52
53
notice = """
Hello Spirograph Record Demo
-----------------------------------
| Copyright 2022 by Joel C. Alcarez |
| [joelalcarez1975@gmail.com] |
|-----------------------------------|
| We make absolutely no warranty |
| of any kind, expressed or implied |
|-----------------------------------|
| This graphics library outputs |
| to a bitmap file. |
-----------------------------------
"""
from pythonbmp.BITMAPlib import(
newBMP,
pi,
centercoord,
plotlines,
spirographvert as f,
getfuncmetastr as meta,
saveBMP
)
import subprocess as proc
from os import path
def main():
print(f'{notice}\n{meta(f)}')
imgedt = 'mspaint' # replace with another editor if Unix
rootdir = path.dirname(__file__) # get path of this script
mx = my = 601 # bitmap size
bmp = newBMP(mx, my, 4) # 16 color
(x, y) = centercoord(bmp) # How to get center of the bitmap
file = f'Hello{f.__name__}.bmp' # file name
lim = pi * 20
color = 11 # yellow
for r in range(20, 360, 10):
plotlines(bmp, f(x, y,
r=r,
l=.6,
k=.8,
delta=.02,
lim=lim),
color)
saveBMP(file, bmp) # save file
print('Saved to %s in %s\nAll done close %s to finish' % \
(file, rootdir, imgedt)) # tell user we are done
ret = proc.call([imgedt, file])
if __name__=="__main__":
main()