Существуют три общих метода отображения графических изображений в вашем приложении Tkinter.
Чтобы отобразить изображения битовых карт (двухцветные) в формате .xbm, обратитесь к разделу 5.9.1, “Класс BitmapImage” ниже.
Чтобы отобразить полноцветные изображения в форматах .gif, .pgm или .ppm, см. раздел 5.9.2, “Класс PhotoImage” ниже.
Библиотека Python Imaging Library (PIL) поддерживает изображения в гораздо более широком спектре форматов. Ее класс ImageTk специально предназначен для отображения изображений в приложениях Tkinter.
Чтобы отобразить двухцветное изображение в формате .xbm, вам понадобится этот конструктор:
tk.BitmapImage(file=f[, background=b][, foreground=c])
где f - это имя файла изображения .xbm.
Обычно передний (1) биты на изображении будут отображаться как черные пиксели, а фоновые (0) биты на изображении будут прозрачными. Чтобы изменить это поведение, используйте дополнительную опцию background=b, чтобы установить фон на цвет b, и дополнительную опцию foreground=c, чтобы установить передний план на цвет c. Для спецификации цвета см. раздел 5.3, “Цвета”.
Этот конструктор возвращает значение, которое можно использовать там, где Tkinter ожидает изображение. Например, чтобы отобразить изображение как метку, используйте виджет Label (см. раздел 12, “Виджет Label”) и предоставьте объект BitmapImage в качестве значения опции image:
logo = tk.BitmapImage('logo.xbm', foreground='red')
Label(image=logo).grid()
Чтобы отобразить цветное изображение в форматах .gif, .pgm или .ppm, вам понадобится этот конструктор:
tk.PhotoImage(file=f)
где f - это имя файла изображения.
Конструктор возвращает значение, которое можно использовать там, где Tkinter ожидает изображение.