Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2021, 16:33   #1
legich
Новичок
Джуниор
 
Регистрация: 12.11.2021
Сообщений: 4
По умолчанию Python: Создать на холсте рисунок домика

привет ребят, дали задачку нарисовать домик как на картинке, вроде всё и простецки выглядит, но из всего что тут дано я могу только белый фон сделать. помогите, как это сделать?
Изображения
Тип файла: png изображение_2021-11-11_234054.png (3.9 Кб, 12 просмотров)

Последний раз редактировалось legich; 12.11.2021 в 16:43.
legich вне форума Ответить с цитированием
Старый 12.11.2021, 19:27   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,311
По умолчанию

Можно ведь и поискать в Сети. Примеров много.
Вот пример рисования круга:
Код:
mID = cv.create_oval(mx - mr,    # координаты верхнего левого\n",
                     my - mr,    # угла квадрата\n",
                     mx + mr,    # координаты нижнего правого\n",
                     my + mr,    # угла квадрата\n",
                     fill = mc) # цвет заливки\n",
тут cv - синоним canvas (холст, канва);
mx, my - координаты центра круга радиусом mr;
mc - это цвет заливки. Цвет можно задать словом, например 'yellow' или в 16-битовом формате: #F0E13C.
Получить код цвета можно как через программу, например HTMLColor200, которую можно найти в Сети или с использованием Paint или Word в которых есть возможность выбрать цвет и получить, правда, десятичный код. Но изготовить из него шестнадцатеричный - нет проблем.
Домик можно нарисовать полигоном:
cv.create_polygon()

Тут достаточно материала, что бы самому всё сделать: https://younglinux.info/tkinter/canvas

PS: Можешь улыбнуться. Твоё задание отсюда.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 12.11.2021, 20:17   #3
legich
Новичок
Джуниор
 
Регистрация: 12.11.2021
Сообщений: 4
По умолчанию

ViktorR, спасибо, а как сделать траву? цикл for, как я понимаю, но как сделать её изогнутой и сдублировать её? спасибо большое за помощь
legich вне форума Ответить с цитированием
Старый 12.11.2021, 20:31   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Выбрать примитив, которым рисовать (например, create_arc со стилем дуги). При задании координат примитива добавить параметр, который менять с помощью цикла.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 12.11.2021, 21:25   #5
legich
Новичок
Джуниор
 
Регистрация: 12.11.2021
Сообщений: 4
По умолчанию

Всем спасибо за помощь! Вот код, который у меня получился, можете посмотреть результат, сказать, что не так
Код:
from tkinter import *
root = Tk()
c = Canvas(root, width=200, height=200, bg='white')
c.pack()
cx = 0
cy = 160
cs = 23
ce = 290
c.create_polygon(100, 10, 20, 90, 180, 90, fill = 'lightblue')
c.create_rectangle(55, 90, 145, 160, fill = 'lightblue',
                   outline = 'lightblue')
for i in range (5, 200, 10):
    c.create_arc(cx + i, cy, cs + i, ce, 
             start=160, extent=-90, 
             style=ARC, outline='green', 
             width=2)
c.create_oval(200, 5, 155, 50,
        fill='orange',
        outline = 'orange')
root.mainloop()
legich вне форума Ответить с цитированием
Старый 12.11.2021, 21:48   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Да вроде хорошо выглядит. Две вещи бы только поправил: домик удлинил "c.create_rectangle(55, 90, 145, 180, fill = 'lightblue', outline = 'lightblue')", чтобы трава закрывала его снизу; добавил травинку в цикл "for i in range (-5, 200, 10):", чтобы слева еще одна выглядывала. Но это уже мелочи, просто чтобы больше было похоже на оригинальную картинку.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 12.11.2021, 22:17   #7
legich
Новичок
Джуниор
 
Регистрация: 12.11.2021
Сообщений: 4
По умолчанию

BDA, спасибо большое за помощь! буду еще обращаться

ViktorR, спасибо большое за помощь!

Последний раз редактировалось BDA; 13.11.2021 в 00:08.
legich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите код в Access. на форме есть элемент флажок и два рисунка. По умолчанию показывается Рисунок 1. Если поставить галочку во флажке, то Рисунок 1 меняется на Рисунок 2 HMMWV Microsoft Office Access 1 13.06.2019 08:53
графика на холсте artovbaz Помощь студентам 2 21.01.2014 22:27
как создать рисунок с привязкой к тексту со сдвигом вниз? workman777 Microsoft Office Word 3 18.01.2013 02:09
Создать GIF рисунок Кинельски Общие вопросы Delphi 0 24.09.2011 15:45
как создать рисунок вместо таблицы schuco Microsoft Office Excel 1 10.02.2009 05:12