我正在尝试根据坐标、分辨率和灰度生成位图图像。基本上,图像应该只在这些点区域内着色。我已经尝试过了,但我不断收到诸如“无法确定区域大小”之类的错误;使用 4 件箱'。这是我尝试过的:
from PIL import Image
img = Image.new('L', (1200, 800), 120)
img.paste([2, 3, -4, 4])
img.show()
我正在尝试根据坐标、分辨率和灰度生成位图图像。基本上,图像应该只在这些点区域内着色。我已经尝试过了,但我不断收到诸如“无法确定区域大小”之类的错误;使用 4 件箱'。这是我尝试过的:
from PIL import Image
img = Image.new('L', (1200, 800), 120)
img.paste([2, 3, -4, 4])
img.show()
我想你的意思是:
#!/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 表示“不透明”。