врывр
аппраер
Для написания программы нам понадобятся изображения шариков в png формате:
Рис. 2. Изображения шариков в png формате.
Рис. 2.
from tkinter import *
from PIL import Image
tk = Tk()
canvas = Canvas(tk, width=600, height=480)
canvas.pack()
# Создание изображений из файлов PNG
img1 = Image.open('bronze.png')
img2 = Image.open('Ag0.png')
# Объединение двух изображений в один PhotoImage
combined_img = Image.alpha_composite(img1, img2)
# Создание файла из объединенного изображения
combined_img.save('new.png', format='png')
# Создание PhotoImage из файла
tk_mg = PhotoImage(file='new.png')
# Создание изображений в Canvas
canvas.create_image(300, 240, image=tk_mg) # отобразить объединенное изображение
mainloop()
Лист. 1.
from tkinter import *
from PIL import Image
from io import BytesIO
import base64
tk = Tk()
canvas = Canvas(tk, width=600, height=480)
canvas.pack()
# Загрузка изображений
img1 = Image.open('bronze.png')
img2 = Image.open('Ag0.png')
# Объединение изображений
combined_img = Image.alpha_composite(img1, img2)
# Сохранение в буфер памяти
buffer = BytesIO()
combined_img.save(buffer, format="PNG")
# Преобразование в base64 и создание PhotoImage
img_data = base64.b64encode(buffer.getvalue()).decode("ascii")
tk_img = PhotoImage(data=img_data, format="png")
# Отображение на холсте
canvas.create_image(300, 240, image=tk_img)
mainloop()
Лист. 2.
Задача: 1 Программа листинг 2 объединяет 2 графических файла в формате png и выводит готовое изображение на объект класса Cavas из библиотеки tkinter. Перепишите программу листинг 2 так, чтобы она выводила на объект Canvas 2 изображения, каждое из которых является комбинацией различных пар изображений из файлов в формате png.
Лист. 3.
Задача: 2 Программа листинг 3 объединяет 2 графических файла в формате png и выводит готовое изображение на объект класса Cavas из библиотеки tkinter. Перепишите программу листинг 2 так, чтобы она выводила на объект Canvas 2 изображения, каждое из которых является комбинацией различных пар изображений из файлов в формате png.