1

我正在尝试根据坐标、分辨率和灰度生成位图图像。基本上,图像应该只在这些点区域内着色。我已经尝试过了,但我不断收到诸如“无法确定区域大小”之类的错误;使用 4 件箱'。这是我尝试过的:

from PIL import Image

img = Image.new('L', (1200, 800), 120)
img.paste([2, 3, -4, 4])
img.show()

4

1 回答 1

0

我想你的意思是:

#!/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')

在此处输入图像描述


如果你想要一个透明的画布,并绘制一个实心形状,你可以使用:

im = Image.new('LA', (1200, 800), 0)

这将为您提供具有亮度(灰度)和 Alpha(透明度)的 2 通道图像。

然后绘制实心的中灰色矩形:

draw.rectangle(((100, 100), (1100,700)), fill=(128,255))

因为 128 在 [0-255] 的中间,而 255 表示“不透明”。

于 2018-09-08T13:04:43.540 回答