当前位置: 首页 > 知识库问答 >
问题:

如何将Tkinter图像置于背景中?无论文件类型如何,都会得到相同的错误消息:

訾雅畅
2023-03-14

消息文件名
语法错误
(unicode错误)'UnicodeScape'编解码器无法解码位置2-3中的字节:

我已经引进了PIL和tkinter,并尝试了一些不同的方法,但我看到的建议主要是:

IMG=ImageTk.PhotoImage(Image.open("C:\testpic.gif")

img=tk。PhotoImage(Image.open(“C:\testpic.gif”))

还尝试了图像文件类型:。bmp。jpeg。巴布亚新几内亚。gif。。。。把它们放在标签上,打包或放置。

我还收到了另一个我手头没有的错误消息,但它类似于:

Invaild“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。

当这个出现时,它也适用于所有图片文件类型。

我想我只需要用普通的旧纯色背景和字体颜色来美化我的程序。也许PIL Lib是错误的(我必须把它从python 3.3中分离出来),我想我得到了正确的。

可能存在文件大小(Mb)限制?

如果有人对如何在背景中放置图片文件有任何建议,那就太好了!

编辑:python 3x,导入tkinter和从PIL导入ImageTk,图像

这个建议对我有用。gif。bmp。巴布亚新几内亚。jpg:)

IMG=PIL. ImageTk.PhotoImage(PIL. Image.open(picfilepath))

共有2个答案

明财
2023-03-14

看来PIL有严重的问题。我认为它根本不支持Python 3(https://mail.python.org/pipermail/image-sig/2009-March/005498.html).但我也在Python2.7上试用过。11,无法显示任何图像。如果您试图在Tkinter上显示图像,我建议您尝试以下方法:

from tkinter import *
root = Tk()

imgobj = PhotoImage(file="filename.png")

label = Label(root, image=imgobj)
label.pack()

它还支持gif图像格式,但不支持jpg类型。

傅穆冉
2023-03-14

我也有PIL和Tkinter图像的问题。。。我找了几个小时才找到解决办法。试试这个,我希望它能帮助你,这个简单的程序运行一个带有图像的标签:

from tkinter import *
import PIL.Image
import PIL.ImageTk

root = Tk()

image = PIL.ImageTk.PhotoImage(PIL.Image.open ("C:/Users/Vladi/example.jpg"))  
label = Label (root, image = image).pack() 

root.mainloop()

我刚刚指定了从中获取模块的所有库。还要注意反斜杠。。。使用您已经使用过的,您将得到一个错误。使用此选项:/或:\\

如果你想调整它的大小:

img = PIL.Image.open ("C:/Users/Vladi/example.jpg")
img = img.resize ((80, 75))
img = PIL.ImageTk.PhotoImage(self.im)

在调用PhotoImage之前,您必须调整其大小,也可以将其全部写入一行:

img = PIL.ImageTk.PhotoImage(PIL.Image.open ("C:/Users/Vladi/example.jpg").resize((80, 75)))

我希望我帮助过你

 类似资料:
  • 我正试图为主页设置一个背景图像。我是从屏幕开始获得图像位置,填充宽度,但不是高度。我的代码中是否遗漏了什么?颤振有图像标准吗?图像缩放是否基于每个手机的屏幕分辨率?

  • 我想粘贴一个相对图像url到一个div设置为背景图像。不幸的是,div不会呈现图像。因此,这工作良好,并呈现图像 但这个不是 我也尝试过的事情: 在单引号中包装url 可能吗? 从src文件夹开始 和从“资源”文件夹开始 背景图像的正确url是什么? 更新 我在用VueJs所以这里的情况可能会有所不同?再现的步骤: 使用Vue CLI创建新项目 在中创建 目录 在中创建映像,并将其称为 使用更新a

  • 我试图将图像作为JavaFX场景中的背景,但我的代码不起作用。 我试图在java eclipse中制作一个战舰游戏程序,但我遇到了一个图形问题。 当我第一次尝试运行它时,它工作了,一个新的窗口打开了,中间有一个按钮,但bakcground是空白的。当我尝试在窗口中设置一个图像作为背景时,按下“开始”按钮,什么也没有发生…

  • 问题内容: 1有1’m使用作为一个搜索页面的背景图像,并使用CSS来设置它,因为1’m内工作1’mJPEG文件Backbone.js的背景: 1要在CSS 3模糊滤镜应用 只 为背景,但1’m不知道如何风格只是一个元素。如果1个试; 正下方,在我的CSS,它的款式整个页面,而不仅仅是背景。有没有办法只选择图像和过滤器适用于?另外,有一种方法只是把模糊关闭页面上的所有其他元素? 问题答案: 你将不得

  • 我试图设置一个屏幕的背景图像,占屏幕的25%左右,位于顶部。我试过了,