python tkinter:仅显示图像的一部分
这仅显示我的图像的右下角。我做错了什么?
from Tkinter import *
from PIL import Image, ImageTk
class Application(Frame):
def __init__(self, titl, master=None):
Frame.__init__(self, master)
self.grid()
self.create_widgets()
self.master.title(titl)
def create_widgets(self):
image_file = 'sample.jpg'
image1 = ImageTk.PhotoImage(Image.open(image_file))
w = image1.width()
h = image1.height()
self.canvas = Canvas(self, width=w+5, height=h+5)
self.canvas.grid(row=0, column=0)
self.canvas.create_image(0,0, image=image1)
self.canvas.image = image1
app = Application('Image')
app.mainloop()
This only displays the bottom right corner of my image. What am I doing wrong?
from Tkinter import *
from PIL import Image, ImageTk
class Application(Frame):
def __init__(self, titl, master=None):
Frame.__init__(self, master)
self.grid()
self.create_widgets()
self.master.title(titl)
def create_widgets(self):
image_file = 'sample.jpg'
image1 = ImageTk.PhotoImage(Image.open(image_file))
w = image1.width()
h = image1.height()
self.canvas = Canvas(self, width=w+5, height=h+5)
self.canvas.grid(row=0, column=0)
self.canvas.create_image(0,0, image=image1)
self.canvas.image = image1
app = Application('Image')
app.mainloop()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须将锚点设置为
NW
(西北),因为默认情况下其值为CENTER
,顾名思义,它使图像在给定坐标上居中:或者您可以更改稍后如果您保留图像 ID:
http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.create_image-method
You have to set the anchor to
NW
(NorthWest) because its value isCENTER
by default, which as the name suggests centers the image on the given coordinates:Or you can change that later if you keep the image id:
http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.create_image-method