Python Pillow库绘制网格时如何调整线条的走向?
问题原因
你当前的代码仅实现了单方向45°斜向线条的绘制,没有补充另一方向的线条逻辑,因此无法生成完整网格;如果之前尝试新增另一方向线条时出现方向异常的错误线条,本质是线条的起止点坐标计算错误导致。
解决方案
方案1:生成常规横竖矩形网格
from PIL import Image, ImageDraw img = Image.new('RGB', (1000, 1000), (255, 255, 255)) draw = ImageDraw.Draw(img) grid_spacing = 200 # 网格间距 line_width = 20 # 绘制垂直竖线 for x in range(0, 1000, grid_spacing): draw.line(((x, 0), (x, 1000)), fill=(0, 0, 0), width=line_width) # 绘制水平横线 for y in range(0, 1000, grid_spacing): draw.line(((0, y), (1000, y)), fill=(0, 0, 0), width=line_width) img
方案2:生成45°斜向菱形网格
在原有代码基础上补充另一方向的斜线绘制逻辑即可:
from PIL import Image, ImageDraw img = Image.new('RGB', (1000, 1000), (255, 255, 255)) draw = ImageDraw.Draw(img) grid_spacing = 200 line_width = 20 # 原有左上到右下方向的斜线 for y in range (-2000, 2000, grid_spacing): draw.line(((y, 2000), (2000, y)), (0, 0, 0), line_width) # 新增右上到左下方向的斜线 for y in range (-2000, 2000, grid_spacing): draw.line(((2000 - y, 2000), (0, y)), (0, 0, 0), line_width) img
内容的提问来源于stack exchange,提问作者project.py
相关产品推荐
相关产品推荐

