应用
任意图片=>turtle
实现任意图片生成turtle py文件 源码: https://github.com/ikeukenhof/Python-100-Days/blob/yx/practice/turtle 待优化: 按像素点绘制,图片越大,生成的py代码越多
image2turtle.py
#!/usr/bin/env python# -*- coding: utf-8 -*-"""图片转为turtle代码Version : 0.1Author : yxDate : 2022-02-11"""from PIL import Imagef = open('test.py', 'w')im = Image.open("1.jpg")x, y = im.sizeprint(f'{x}px * {y}px')f.write("import turtle\n\n\n")f.write("canvasX = {}\n".format(x))f.write("canvasY = {}\n".format(y))f.write('''def D(x, y):return x - canvasX // 2, - y + canvasY // 2\n\nturtle.screensize(canvasX,canvasY, "white")turtle.penup()turtle.goto(D(0,0))turtle.pendown()turtle.pensize(1)turtle.speed(0)turtle.colormode(255)turtle.delay(0)turtle.tracer({},0)turtle.hideturtle()'''.format(x))for y in range(im.size[1]):f.write("turtle.penup()\n")f.write("turtle.goto(D(0,{}))\n".format(y))f.write("turtle.pendown()\n")for x in range(im.size[0]):pix = im.getpixel((x, y))f.write("turtle.pencolor" + str(pix) + "\n")f.write("turtle.forward(1)\n")f.write("turtle.done()\n")
生成的代码有3.11MB,执行耗时长,效果尚可

