@Hikanosu

Как только при помощи метода putpixel в pillow нарисовать триугольник?

Не используя другие методы. Подскажите как это возможно сделать. При этом ещё залить его
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
@twistfire92
Python backend developer
Треугольник - фигура ограниченная тремя линиями. Каждая линия может быть описана уравнением прямой
y=ax+b
Задача в итоге сводится к задаче определения принадлежности точки к фигуре.
Пробегаете по всем пикселям изображения, если точка принадлежит фигуре - закрашиваем.
Как вариант можно сначала определить достаточные границы поиска, чтобы впустую не обходить часть изображения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@JRBRO
Пример из интернтера, как в tkinter рисуют треугольник
import random
from tkinter import Tk, Button, Canvas, PhotoImage

def putpixel(x, y):
    x = int(x * 100 + 100)
    y = int(y * 100 + 100)
    image.put("white", to=[x, y])

def draw_serp():
    x = random.random()
    y = random.random()
    for step in range(1500):
        choice = random.choice(["top", "left", "right"])
        if choice == "top":
            x1 = x * 0.5
            y1 = y * 0.5 + 0.5
        elif choice == "left":
            x1 = x * 0.5 - 0.5
            y1 = y * 0.5
        elif choice == "right":
            x1 = x * 0.5 + 0.5
            y1 = y * 0.5
        x = x1
        y = y1
        if step > 50:
            putpixel(x, y)

root = Tk()
canvas = Canvas(root, width=199, height=199, background="black")
image = PhotoImage(width=200, height=200)
canvas.create_image(0, 0, image=image, anchor="nw")
canvas.pack()
button = Button(root, text="Draw", command=draw_serp)
button.pack()
root.mainloop()

625ec048e51d6304230257.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы