文章内容如有错误或排版问题,请提交反馈,非常感谢!
家里买了微小积木供小朋友玩,由于自带的说明中仅有几幅图,拼了几个就拼完了,于是打算使用Python做一个像素画图片工具。

整体逻辑非常简单:
- 使用Pillow包读取图片
- 将图片分割成一个个正方形像素块
- 获取像素块中出现的最多的颜色,将其作为像素块的颜色。
- 重新拼接图片。
具体代码如下:
from PIL import Image
import collections
pic = Image.open("image.png").convert("RGB")
width, height = pic.size
block = 10 // 设置块大小
board = Image.new("RGB", (width // block * block, height // block * block))
for y in range(0, height, block):
for x in range(0, width, block):
temp = pic.crop((x, y, x + block, y + block))
temp_list = list(temp.getdata())
max_color = collections.Counter(temp_list).most_common()[0][0]
# temp_past = Image.new("RGB", temp.size, max_color) 无边框
temp_past = Image.new("RGB", (temp.size[0] - 1, temp.size[1] - 1), max_color)
board.paste(temp_past, (x, y))
board.show()
具体效果:







