Я думаю, вы имеете в виду это:
#!/usr/local/bin/python3
import numpy as np
from PIL import Image, ImageDraw
# Create empty canvas
im = Image.new('L', (1200, 800), 0)
# Create a draw context and draw rectangle at given position
draw = ImageDraw.Draw(im)
draw.rectangle(((100, 100), (1100,700)), fill='gray')
# Save result
im.save('result.png')
![enter image description here](https://i.stack.imgur.com/2sj7p.png)
Если вы хотите прозрачный холст и рисовать сплошную форму, вы можете использовать:
im = Image.new('LA', (1200, 800), 0)
, который даст вам 2-канальное изображение с легкостью (оттенки серого) и альфа (прозрачность).
Затем нарисуйте сплошной средне-серый прямоугольник с помощью:
draw.rectangle(((100, 100), (1100,700)), fill=(128,255))
потому что 128 находится в середине [0-255], а 255 будет означать «непрозрачный».