from turtle import *from math import sqrt, ceilfrom PIL import ImageL = 800R = 360T = R * sqrt(3)r = R / 2t = r / 2ratio = (2-sqrt(3)) ** 2print(ratio)size = ceil(r * 2 * ratio)print(size)eps = "emblem.eps"png, color, bg = "red.png", "orangered", "white"# png, color, bg = "blue.png", "dodgerblue", "white"# png, color, bg = "gray.png", "dimgray", "white"# png, color, bg = "red_swap.png", "white", "orangered"# png, color, bg = "blue_swap.png", "white", "dodgerblue"# png, color, bg = "gray_swap.png", "white", "dimgray"screensize(L, L)pensize(size)speed(0)hideturtle()shapesize(5, 5, 2)penup()home()setheading(45)forward(L/sqrt(2))pendown()pencolor(bg)fillcolor(bg)begin_fill()left(135)forward(L)left(90)forward(L)left(90)forward(L)left(90)forward(L)end_fill()pencolor(color)penup()home()setheading(90)forward(R)left(90)pendown()circle(R)penup()home()setheading(90)forward(R)left(150)pendown()forward(T)left(120)forward(T)left(120)forward(T)penup()home()setheading(270)forward(R)left(150)pendown()forward(T)left(120)forward(T)left(120)forward(T)penup()home()setheading(90)forward(r)left(90)pendown()circle(r)penup()home()setheading(90)forward(t)left(90)pendown()circle(t, 240)penup()home()setheading(210)forward(t)left(180)pendown()forward(r)getscreen().getcanvas().postscript(file=eps)p = Image.open(eps)print(p.size)w, h = 600, 600cx, cy = p.size[0] / 2, p.size[1] / 2box = (cx-w/2, cy-h/2, cx+w/2, cy+h/2)p = p.crop(box)print(p.size)p.save(png)p.show()
python pil保存图片_用turtle绘制徽章,用PIL裁剪图片~python代码
最新推荐文章于 2023-04-23 19:20:18 发布