python画精美图案_Python语言的魅力------完美图案
1.画椭圆
(代码如下)
#!user/bin/python
# -*- conding:UTF-8 -*-
if __name__ == __main__:
from Tkinter import *
canvas = Canvas(width=800,height=600,bg=purple)
canvas.pack(expand=YES,fill=BOTH)
k = 1
j = 1
for i in range(0,26):
canvas.create_oval(310 - k,250 - k,310 + k,250 + k,width=1)
k += j
j +=0.3
mainloop()
2.画方形
(代码入下)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == __main__:
from Tkinter import *
root = Tk()
root.title(Canvas)
canvas = Canvas(root, width=400, height=400, bg=yellow)
x0 = 263
y0 = 263
y1 = 275
x1 = 275
for i in range(19):
canvas.create_rectangle(x0, y0, x1, y1)
x0 -= 5
y0 -= 5
x1 += 5
y1 += 5
canvas.pack()
root.mainloop()
3.一个像鸟巢一样优美的图案
(代码如下)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import math
class PTS:
def __init__(self):
self.x = 0
self.y = 0
points = []
def LineToDemo():
from Tkinter import *
screenx = 400
screeny = 400
canvas = Canvas(width = screenx,height = screeny,bg = white)
AspectRatio = 0.85
MAXPTS = 15
h = screeny
w = screenx
xcenter = w / 2
ycenter = h / 2
radius = (h - 30) / (AspectRatio * 2) - 20
step = 360 / MAXPTS
angle = 0.0
for i in range(MAXPTS):
rads = angle * math.pi / 180.0
p = PTS()
p.x = xcenter + int(math.cos(rads) * radius)
p.y = ycenter - int(math.sin(rads) * radius * AspectRatio)
angle += step
points.append(p)
canvas.create_oval(xcenter - radius,ycenter - radius,
xcenter + radius,ycenter + radius)
for i in range(MAXPTS):
for j in range(i,MAXPTS):
canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)
canvas.pack()
mainloop()
if __name__ == __main__:
LineToDemo()
1.画椭圆 (代码如下) #!user/bin/python # -*- conding:UTF-8 -*- if __name__ == __main__: from Tkinter import * canvas = Canvas(width=800,height=600,bg=purple) canvas.pack(expand=YES,fill=BOTH) k = 1 j = 1 for i in range(0,26): canvas.create_oval(310 - k,250 - k,310 + k,250 + k,width=1) k += j j +=0.3 mainloop() 2.画方形 (代码入下) #!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == __main__: from Tkinter import * root = Tk() root.title(Canvas) canvas = Canvas(root, width=400, height=400, bg=yellow) x0 = 263 y0 = 263 y1 = 275 x1 = 275 for i in range(19): canvas.create_rectangle(x0, y0, x1, y1) x0 -= 5 y0 -= 5 x1 += 5 y1 += 5 canvas.pack() root.mainloop() 3.一个像鸟巢一样优美的图案 (代码如下) #!/usr/bin/python # -*- coding: UTF-8 -*- import math class PTS: def __init__(self): self.x = 0 self.y = 0 points = [] def LineToDemo(): from Tkinter import * screenx = 400 screeny = 400 canvas = Canvas(width = screenx,height = screeny,bg = white) AspectRatio = 0.85 MAXPTS = 15 h = screeny w = screenx xcenter = w / 2 ycenter = h / 2 radius = (h - 30) / (AspectRatio * 2) - 20 step = 360 / MAXPTS angle = 0.0 for i in range(MAXPTS): rads = angle * math.pi / 180.0 p = PTS() p.x = xcenter + int(math.cos(rads) * radius) p.y = ycenter - int(math.sin(rads) * radius * AspectRatio) angle += step points.append(p) canvas.create_oval(xcenter - radius,ycenter - radius, xcenter + radius,ycenter + radius) for i in range(MAXPTS): for j in range(i,MAXPTS): canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y) canvas.pack() mainloop() if __name__ == __main__: LineToDemo()