Урок 3. Кодування графічних даних
Растрове зображення
from tkinter import*
raster = input() # Вводимо рядок із кодом зображення
pic = list(map(int, raster.split())) # Перетворюємо рядок на список чисел
W, H = pic.pop(0), pic.pop(0) # Відокремлюємо ширину W і висоту H
size = 20 # Розмір квадратика-пікселя
root = Tk()
# Створюємо полотно необхідного розміру
canvas = Canvas(root, width = size*W, height = size*H)
canvas.pack()
# Список кольорів
color = ['black', 'blue', 'green', 'brown', 'red', 'violet', 'yellow', 'white']
for r in range(H):
for c in range(W):
canvas.create_rectangle(c*size, r*size,(c+1)*size, (r+1)*size,
fill = color[pic[r*W+c]])
root.mainloop()
Векторне зображення
from tkinter import*
vector = input() # Вводимо рядок із кодом контуру
x = list(map(int, vector.split())) # Перетворюємо рядок на список чисел
N = x.pop(0) # Відокремлюємо кількість відрізків у змінну N
y = x[1 :: 2] # Формуємо список координат y
x = x[0 :: 2] # Формуємо список координат x
size = 4 # Масштабний множник
root = Tk()
# Створюємо полотно потрібного розміру
canvas = Canvas(root, width = size*max(x), height = size*max(y))
canvas.pack()
for v in range(N): # Будуємо відрізки
canvas.create_line(size*x[v], size*y[v], size*x[v+1], size*y[v+1])
root.mainloop()