Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在画布中居中放置图像_Python_Image_Canvas_Tkinter_Python Imaging Library - Fatal编程技术网

Python 如何在画布中居中放置图像

Python 如何在画布中居中放置图像,python,image,canvas,tkinter,python-imaging-library,Python,Image,Canvas,Tkinter,Python Imaging Library,我正在做一个项目。获取一个图像并将其放入画布中。所以它就像一个照片查看器。但是我想把图像放在画布小部件的中心。但它似乎进入了左上角。为什么会这样?我怎样才能把它放在画布小部件的中心呢 代码: 问题在于线路 self.viewWindow.create_image(0, 0, anchor=CENTER, image=imageFile, tags="bg_img") 如本文所述,前两个参数是图像的位置。原点位于画布的左上角。你的意思是 ...(width/2, height/2, anchor

我正在做一个项目。获取一个图像并将其放入画布中。所以它就像一个照片查看器。但是我想把图像放在画布小部件的中心。但它似乎进入了左上角。为什么会这样?我怎样才能把它放在画布小部件的中心呢

代码:


问题在于线路

self.viewWindow.create_image(0, 0, anchor=CENTER, image=imageFile, tags="bg_img")
如本文所述,前两个参数是图像的位置。原点位于画布的左上角。你的意思是

...(width/2, height/2, anchor=CENTER, ... )
通常几何意义上的原点是画布的中心,或者是宽度的一半和高度的一半

您似乎使用了“锚定”,好像它指定了画布上的位置。没有。“中心定位”表示图像的中心将放置在指定的坐标处。从链接的源(effbot):

定位:相对于给定位置放置位图的位置。默认值为中间值

如果出于某种原因,您不知道小部件的宽度和高度,请参阅。tl;dr将使用

canvas.winfo_width()


非常感谢这帮了我很大的忙!
canvas.winfo_width()
canvas.winfo_height()