не в состоянии генерировать растровое изображение с помощью библиотеки изображений Python - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь сгенерировать растровое изображение на основе координат, разрешения и оттенков серого. В основном изображение должно быть окрашено только внутри этих точек. Я пробовал это, но я продолжаю получать ошибки типа «не могу определить размер региона; используйте коробку из 4 предметов ». Вот что я попробовал:

from PIL import Image

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

1 Ответ

0 голосов
/ 08 сентября 2018

Я думаю, вы имеете в виду это:

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


Если вы хотите прозрачный холст и рисовать сплошную форму, вы можете использовать:

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

, который даст вам 2-канальное изображение с легкостью (оттенки серого) и альфа (прозрачность).

Затем нарисуйте сплошной средне-серый прямоугольник с помощью:

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

потому что 128 находится в середине [0-255], а 255 будет означать «непрозрачный».

...