0

我正在开发一个 python3 应用程序来操作图像。调整图像大小是其中一项功能。当我加载接近占据整个屏幕区域(大约占总屏幕区域的 5/6 部分)的图像时,包含的顶部窗口“跳”到屏幕右侧和底部的边框(带有日期/时间的顶部系统栏, 和左任务栏保持不变)。一旦发生这种情况,即使我将图像调整为更小的尺寸,窗口也会粘在屏幕边框上。为了查明问题,我使我的程序尽可能简单,撤消了所有图像处理和大多数小部件,但问题仍然存在。在我最基本的程序中,我可以将图像加载到特定大小,而窗口不会因为其内容(图像)变得太大而出现奇怪的行为。但是在高度或宽度上多出一个像素,并且窗口会跳转到所述屏幕边框。查看程序代码和屏幕副本以更好地了解问题。由于这可能是系统配置的问题,这些是我的设置:操作系统:Linux Debian Buster、Python 3.7.3、Pillow 8.2.0

import tkinter as tk

from PIL import Image,ImageTk

window = tk.Tk()

im = Image.open('./images/maxinput1092-846.jpg') 

#im = Image.open('./images/badinput1092-847.jpg') 

#im = Image.open('./images/badinput1093-846.jpg') 

photo = ImageTk.PhotoImage(image = im)

canvas = tk.Canvas(window, width = photo.width(),height = photo.height())

canvas.pack(expand = 0, fill = tk.BOTH, side = tk.BOTTOM)

canvas.create_image(0,0,image=photo,anchor="nw")

window.mainloop()

最大图像大小的屏幕截图(窗口行为符合预期)

图片尺寸过大的截图

4

0 回答 0