基础代码
fromPILimportImage,ImageDraw# 打开图片img=Image.open('your_image.jpg')# 创建绘图对象draw=ImageDraw.Draw(img)# 矩形坐标 (x1, y1, x2, y2)coords=(23,21,69,76)# 画矩形框(红色,线宽2)draw.rectangle(coords,outline='red',width=2)# 保存图片img.save('output.jpg')img.show()效果说明
| 参数 | 说明 |
|---|---|
coords = (23, 21, 69, 76) | 左上角(23,21),右下角(69,76) |
outline='red' | 边框颜色 |
width=2 | 边框粗细 |
更多用法
✅ 填充矩形(实心)
draw.rectangle(coords,fill='blue',outline='red',width=2)✅ 半透明矩形(Pillow 9.0+)
draw.rectangle(coords,fill=(255,0,0,128),outline='red',width=2)# RGBA,最后一个值是透明度 0-255✅ 多种颜色样式
# 绿色虚线框draw.rectangle(coords,outline='green',width=3)# 黄色粗框draw.rectangle(coords,outline='yellow',width=5)# 白色细框draw.rectangle(coords,outline='white',width=1)完整示例(含新建图片)
fromPILimportImage,ImageDraw# 如果没有图片,可以新建一个img=Image.new('RGB',(200,200),color='white')draw=ImageDraw.Draw(img)# 画矩形draw.rectangle((23,21,69,76),outline='red',width=2)img.save('result.jpg')img.show()坐标示意
(23,21) ───────── (69,21) │ │ │ 矩形区域 │ │ │ (23,76) ───────── (69,76)💡提示:如果图片路径包含中文,建议用
Image.open(r'路径')或处理编码问题。