设为首页收藏本站喵玉殿官方微博

喵玉殿论坛 · 喵玉汉化组

 找回密码
 少女注册中
搜索
查看: 14852|回复: 3

[其他] 【python绘图】badapple!! 灵梦python实现

[复制链接]
发表于 2021-3-14 23:00:15 | 显示全部楼层 |阅读模式
本帖最后由 花落丿天使 于 2021-3-14 23:13 编辑

首先放上图片:

屏幕截图 2021-03-14 224808.jpg

代码实现:

  1. import turtle as tt
  2. from PIL import Image
  3. import numpy as np
  4. img=np.array(Image.open('D:/baRM.jpg').convert('L'))
  5. rows,cols=img.shape
  6. III=np.empty([220,220],dtype=int)
  7. for i in range(rows):
  8.     for j in range(cols):
  9.         if (img[i,j]<=128):
  10.             img[i,j]=0
  11.         else:
  12.             img[i,j]=1
  13. def zfx(a,rgb):
  14.     tt.penup()
  15.     tt.left(90)
  16.     tt.fd(a/2)
  17.     tt.left(90)
  18.     tt.pencolor(rgb,rgb,rgb)
  19.     tt.fillcolor(rgb,rgb,rgb)
  20.     tt.begin_fill()
  21.     tt.pendown()
  22.     tt.fd(a/2)
  23.     tt.left(90)
  24.     tt.fd(a)
  25.     tt.left(90)
  26.     tt.fd(a)
  27.     tt.left(90)
  28.     tt.fd(a)
  29.     tt.left(90)
  30.     tt.fd(a/2)
  31.     tt.left(90)
  32.     tt.end_fill()
  33.     tt.penup()
  34.     tt.fd(a/2)
  35.     tt.left(90)

  36. tt.setup(900,900,0,0)
  37. tt.speed(0)
  38. tt.bgcolor("gray")
  39. tt.Turtle().screen.delay(0)
  40. for i in range(1,220,1):
  41.     for j in range(1,220,1):
  42.         tt.penup()
  43.         tt.goto(2*i-300,2*j-300)
  44.         tt.pendown()
  45.         if img[i,j]==1:
  46.             zfx(2,1)
  47.         else:
  48.             zfx(2,0)

  49. tt.done()
复制代码



实现原理:
首先引入几个必要的库,PIL和nupmy用来读取像素的RGB值,turtle用来画图(很多人更熟悉的名字应该叫LOGO,就是那只小乌龟),随后定义了绘制正方形的函数zfx(a,rgb),当读取位置为黑色时用zfx(a,0)绘制黑色正方形,反之则绘制白色正方形,为了显示白色正方形的效果,将画布颜色设置成了灰色,随后逐个输出像素点地绘制正方形,然后截图时旋转90度即可(由于开始时乌龟脸朝右的缘故)。中间有一行是D:/baRM.jpg,用的时候记得改成你图片的存储位置,然后下面两个200记得改成你想要的图片大小(如果输出大小和图片不一样还需要乘个系数)
因为下载图片的大小是880*880,于是乎就缩小四倍改成220*220了,按照220*220画的图(也是出于速度的考虑)



评分

参与人数 2积分 +20 喵玉币 +21 收起 理由
philosm + 20 + 20
不拘一嗝降人才 + 1 太蠢了

查看全部评分

发表于 2021-3-15 00:26:34 | 显示全部楼层
LOGO,很有年代感呢
其實是類以Bitmap Threshold的功能吧

点评

差不多,就是逐像素读取颜色然后反向画出来() 用来LOGO这玩意纯属脑洞一条()()()()  发表于 2021-3-15 00:49
回复 支持 反对

使用道具 举报

发表于 2021-3-17 17:59:26 | 显示全部楼层
画画(×)
降低分辨率(√)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 少女注册中

本版积分规则

合作与事务联系|小黑屋|手机版|无图版|喵玉殿

GMT+8, 2024-3-29 13:03

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表