Python极简方式绘制棋盘格(通过涂写像素点直接生成图片文件)

Python极简方式绘制棋盘格

原理

先通过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库代替
在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云溪溪儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值