基础代码

from PIL import Image, 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)

完整示例(含新建图片)

from PIL import Image, 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'路径') 或处理编码问题。

更多推荐