https://blog.csdn.net/qq_45020818/article/details/104235742
这是要纯手动绘制吗?还是说题意理解有问题,之前见到过一个只要求用turtle就行,你可以看看:
import turtle as t
import cv2
img = cv2.imread('logo.png')
shape = img.shape
t.colormode(255)
t.tracer(2000)
t.penup()
t.goto(-shape[1]/2,shape[0]/2)
for i in range(shape[0]):
t.pendown()
for j in range(shape[1]):
[b,g,r] = img[i][j]
t.color((r,g,b))
t.fd(1)
t.penup()
t.goto(-shape[1]/2,shape[0]/2-i)
t.update()
t.done()
下面代码仅供参考
import turtle
tt = turtle.Turtle()
tt.pencolor('orange')
tt.speed(100)
tt.up()
tt.goto(-48, 0)
tt.down()
tt.fillcolor('orange')
tt.begin_fill()
tt.goto(48, 0)
tt.left(120)
tt.forward(47)
tt.left(90)
tt.forward(45)
tt.right(60)
tt.forward(25)
tt.goto(-48, 0)
tt.end_fill()
for i in
range(4):
tt.up()
tt.setheading(-90)
tt.forward(10)
tt.left(90) tt
.begin_fill()
tt.forward(96)
tt.right(90)
tt.forward(8)
tt.right(90)
tt.forward(96)
tt.right(90)
tt.forward(8)
tt.end_fill()# 擦除不需要部分
tt.pensize(5)
tt.pencolor('white')
tt.setheading(0) x = 0
for i in range(5):
tt.up()
tt.goto(0, -(50 + x))
tt.down()
tt.circle(50 + x) x = x + 4
tt.up()# 绘制2道外圈
tt.pensize(3)
tt.goto(0, -52)
tt.pencolor('orange')
tt.down()
tt.circle(52, 360, 180)
tt.up()
tt.goto(0, -72)
tt.pensize(10)
tt.pencolor('orange')
tt.down()
tt.circle(72, 360, 180)
tt.up()# 写上校名
zh = '江苏省丹阳高级中学'
tt.goto(-52, -44)
k = 45
for i in range(len(zh)):
tt.setheading(-k)
k = k - 15
tt.write(zh[i])
tt.forward(16)
tt.hideturtle()