Нарисуйте заполненный многоугольник цветом заливки *внутри* контура.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Нарисуйте заполненный многоугольник цветом заливки *внутри* контура.

Сообщение Anonymous »

Я хочу нарисовать контур многоугольника и залить его определенным цветом. Это должно быть достаточно простой задачей для PIL... К сожалению, аргумент fill создает изображение, выходящее за пределы контура... Демонстрация:
Шаг 1, давайте наглядно покажем, как должен выглядеть мой план:

Код: Выделить всё

from PIL import Image, ImageDraw

vertices = [(44, 124),
(50, 48),
(74, 46),
(73, 123),
(44, 124)]

# draw as an outline
image = Image.new('RGB', (150, 150), 'black')
draw = ImageDraw.Draw(image)
draw.line(vertices, fill='blue', width=1)
image.save(r'outline.png')
Это создаст изображение ниже:
[img]https://i.stack.imgur .com/3LDpW.png[/img]

Это здорово, и я могу подтвердить в Photoshop, что мои углы соответствуют указанным координатам. Теперь шаг 2. Давайте сделаем то же самое, используя функцию многоугольника, и нарисуем закрашенный многоугольник:

Код: Выделить всё

# draw as a filled polygon
image = Image.new('RGB', (150, 150), 'black')
draw = ImageDraw.Draw(image)
draw.polygon(vertices, fill='white', outline='blue', width=1)
image.save(r'filled.png')
Обратите внимание на два пикселя на этой фигуре (выделены ниже)
Изображение

Это неприемлемо. Заполненный многоугольник не должен выходить за пределы контура. Вот ожидаемый результат (макет в Photoshop):
Изображение

ВОПРОС
В конце дня я хочу написать функцию, которая потребуется n вершин, чтобы нарисовать чистый многоугольник с заполненной границей, которая не выходит за пределы контура. Кроме того, по техническим причинам я не могу использовать matplotlib, что означает, что я не могу использовать Skimage.draw.polygon_perimeter, но лучше всего подойдет любой другой пакет (особенно если использовать numpy)

Подробнее здесь: https://stackoverflow.com/questions/783 ... he-outline
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сюжетно: добавить прямоугольник с различным цветом заливки
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Нарисуйте текст с цветом фона
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Нарисуйте текст с цветом фона
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с цветом фона CSS и цветом текста в таблице стилей CSS
    Anonymous » » в форуме CSS
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • CSS :: Выбор автоматически обменивается цветом и фоновым цветом
    Anonymous » » в форуме CSS
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»