Урок 3. Кодування графічних даних

Презентація 8 клас Урок 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()