python - 如何使用 tkinter 返回 Base 64 编码图形的高度和宽度

标签 python python-3.x tkinter

我正在使用 Base 64 编码图形将图像添加到 Canvas 背景。我的问题是如何返回编码图形image_png的宽度和高度,以便我可以将 Canvas 的宽度和高度设置为相同。

import tkinter as tk    

image_png = """
R0lGODlhIAAgALMAAAAAAAAAgHCAkC6LV76+vvXeswD/ANzc3DLNMubm+v/6zS9PT6Ai8P8A////
/////yH5BAEAAAkALAAAAAAgACAAAAS00MlJq7046803AF3ofAYYfh8GIEvpoUZcmtOKAO5rLMva
0rYVKqX5IEq3XDAZo1GGiOhw5rtJc09cVGo7orYwYtYo3d4+DBxJWuSCAQ30+vNTGcxnOIARj3eT
YhJDQ3woDGl7foNiKBV7aYeEkHEignKFkk4ciYaImJqbkZ+PjZUjaJOElKanqJyRrJyZgSKkokOs
NYa2q7mcirC5I5FofsK6hcHHgsSgx4a9yzXK0rrV19gRADs=
"""
master=tk.Tk()
master.geometry("100x100")

canvas=tk.Canvas(master)
canvas.grid()

photo=tk.PhotoImage(data=image_png)
canvas.create_image(0, 0, image=photo, anchor="nw")

master.mainloop()

我认为解决方案可能如下所示(举个例子):

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

最佳答案

使用PhotoImagewidthheight方法:

...
photo = tk.PhotoImage(data=image_png)
print(photo.width())  # => 32
print(photo.height())  # => 32
...

关于python - 如何使用 tkinter 返回 Base 64 编码图形的高度和宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27129550/

相关文章:

python - 从出队的一批值、索引、形状创建 SparseTensor

python - 如何在不复制的情况下从 Windows 命令行合并两个目录或用替换移动?

python - react 编辑,只编辑discord.py中最新的命令

python - 更改光标在条目小部件中的位置

python - 如何从 Canvas 中获取所有像素?

python - 使用 tkinter 创建计时器

python - 在 Inno Setup 中运行已安装的 Python 脚本时获取 "Process exit code: 2"

java - 在 Jython 中解析大型 XML 文档的最佳方法

Python 3 电子邮件正文编码

python - 在django中使用多个数据库