原理
先通过PIL库里的Image模块直接生成一张目标像素大小的图片,再通过像素点的坐标对像素点进行操作。
源代码
以生成400x400像素大小,小棋盘格方块像素大小为50的棋盘格图片为例
from PIL import Image
def draw_checkerboard(size, square_size):
# 8x50即生成400边长的图片
image = Image.new("RGB", (size * square_size, size * square_size))
pixels = image.load()
# 先决定哪个方块黑色,哪个方块白色
for i in range(size):
for j in range(size):
if (i + j) % 2 == 0:
color = (0, 0, 0) # Black
else:
color = (255, 255, 255) # White
# 将决定好颜色方块涂成对应颜色
for x in range(square_size):
for y in range(square_size):
# 直接对相应坐标的像素点赋值color变成对应颜色
pixels[i * square_size + x, j * square_size + y] = color
return image
# 生成一张8个棋盘格宽,小棋盘格大小为50x50的方块的大棋盘格图片
checkerboard = draw_checkerboard(8, 50)
# 生成所需格式的图片文件
checkerboard.save("checkerboard.png")
生成的图片

小结
提示:安装PIL库出现错误ERROR: No matching distribution found for PIL,可以装Pillow库代替

懂得原理,即可根据具体需求,操作像素点绘制不同的棋盘格。
1295

被折叠的 条评论
为什么被折叠?



