Холст Tkinter не отображает все изображение, небольшая часть обрезается - PullRequest
1 голос
/ 02 августа 2020
• 1000 Моя установка: Python 3.85 (AMD64), работающая на Windows 10.
import os, sys
import tkinter as tk

os.chdir(os.path.dirname(os.path.abspath(__file__)))

root = tk.Tk()
root.title("Test")
cv_wid, cv_hgt = 500, 300

cv = tk.Canvas(root, width=cv_wid, height=cv_hgt)
im_filename = "graphic_test.gif"
im = tk.PhotoImage(file=im_filename)
cv.create_image(0, 0, image=im, anchor=tk.NW)
cv.pack(side=tk.LEFT)
tk.mainloop()

файл graphic_test.gif

Снимок экрана

20-кратное увеличение скриншота, показывающего, что в изображении отсутствуют 2 верхних ряда пикселей

1 Ответ

1 голос
/ 02 августа 2020

Установите границу холста на 0, чтобы избежать этой проблемы. Вы можете сделать это, установив для атрибутов borderwidth и highlightthickness значение 0 следующим образом:

cv = tk.Canvas(root, width=cv_wid, height=cv_hgt, borderwidth=0,highlightthickness=0)

Результат:

введите описание изображения здесь

...