Програмування растрового зображення
Маючи код растрового зображення, можна скласти програму для виведення його на екран, зобразивши пікселі квадратиками відповідних кольорів.
 
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()
#Запуск головного циклу 
обробки подій
Приклад:
Якщо увести код
5 4 6 4 4 4 6 4 1 6 1 4 4 1 6 1 4 6 4 4 4 6
програма створить зображення, наведене на рис.1. 
52.PNG
Рис.1
Побудова векторного зображення 
Проаналізуємо програму для виведення на полотно зображення контуру, заданого векторним кодом:
 
from tkinter import*
#Завантаження модуля для
створення графічного інтерфейсу
 vector = input()
# Вводимо рядок із кодом контуру
 x = list(map(int, vector.split()))

# Перетворюємо рядок на список чисел
 N = x.pop(0) # Відокремлюємо  кількість відрізків у змінну N
y = x[1 :: 2]
x = x[0 :: 2]
# Формуємо список
координат y
# Формуємо список
координат x
size = 40 #  Масштабний множник
root = Tk() # Створюємо вікно програми
w = size*max(x); h = size*max(y)
canvas = Canvas(root, width = w, height = h)
canvas.pack()
# Обчислюємо висоту і ширину полотна
# Створюємо полотно необхідного розміру
color = ['black', 'blue', 'green', 'brown', 'red', 'violet', 'yellow', 'white'] # Список кольорів
 for v in range(N): 
      canvas.create_line(size*x[v],_ 
      h-size*y[v], size*x[v+1], h-size*y[v+1])
 # Будуємо N відрізків від точки (х[v],y[v]) до точки  (x[v+1], y[v+1])
root.mainloop()
#Запуск головного циклу 
обробки подій
Приклад:
Запустивши програму та увівши код
15 0 0 5 38 14 39 10 25 22 38 28 31 22 27 20 31 12 20 22 19 20 0 12 0 16 17 9 17 5 0 0 0
 
ми побачимо вікно з виведеним векторним зображенням (рис. 2). Це зображення виявилося віддзеркаленим відносно горизонтальної осі, оскільки вісь y на полотні спрямована донизу.
 
53.PNG
Рис.2
Щоб зображення виводилося не віддзеркаленим, треба ординати кінців відрізків обчислювати за формулами (рис.3):
      h-size*y[v] ;  h-size*y[v+1])
55.PNG
Рис.3
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2021.