Tkinter 画布图像适用于 Windows 但不适用于 OSX
Posted
技术标签:
【中文标题】Tkinter 画布图像适用于 Windows 但不适用于 OSX【英文标题】:Tkinter canvas image works on windows but not OSX 【发布时间】:2019-07-27 22:58:30 【问题描述】:有点初学者所以请原谅我的错误。
我创建了一个超级简单的 tk 脚本,它创建一个画布并在其上显示图像。它适用于 Windows,但不适用于 OSX,唯一的区别是文件路径。
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
canv = Canvas(root, width=80, height=80, bg='white')
canv.pack(expand=YES, fill=BOTH)
img = ImageTk.PhotoImage(Image.open(r"C:\project\TechArt\tools\illustrator_label_browser\thumbnails\rachel_vector_lines.png")) # PIL solution
canv.create_image(20, 20, anchor=NW, image=img)
mainloop()
OSX 莫哈韦:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
canv = Canvas(root, width=80, height=80, bg=‘white’)
canv.pack(expand=YES, fill=BOTH)
img = ImageTk.PhotoImage(Image.open(“/Users/jonathansundberg/Techart/tools/illustrator_label_browser/thumbnails/rachel_vector_lines.png”)) # PIL solution
canv.create_image(20, 20, anchor=NW, image=img)
mainloop()
我做错了什么?
【问题讨论】:
您在 OSX 中收到的错误信息是什么? 无,运行正常但图片不显示 【参考方案1】:我也有 macOS Mojave。这三个命令可能会有所帮助:
sudo easy_install pip
pip install Pillow
python3.7 -m pip install pillow
我能够用你的代码和 python3.7 命令打开 jpeg 文件。
【讨论】:
png 文件的表现如何? 是的,它也适用于 png 文件——我刚刚对其进行了测试。不同之处不仅在于路径,还在于具有不同软件版本的整个系统。必须符合 macOS 上的命令行才能解决此问题:python.org/download/mac/tcltk macOS 上的 PIL 包有多个问题:google "python PIL mac"以上是关于Tkinter 画布图像适用于 Windows 但不适用于 OSX的主要内容,如果未能解决你的问题,请参考以下文章
画布图像的图像效果不使用 php 上传保存,但适用于下载相同的画布文件