如何获得Tkinter在没有滚动条的情况下显示非常大的图像?

十字军法师

我正在尝试让Tkinter从URL显示很大的图像,但是该图像没有完全显示在窗口中。我希望无需滚动即可查看整个图像。我已经尝试过调整大小,但这似乎并没有太大的作用。任何帮助,将不胜感激。img链接:https : //web2.hirez.com/smite-media//wp-content/uploads/2017/07/Fafnir.jpg

我的代码:

from tkinter import *
import io
import urllib.request
from PIL import ImageTk, Image

canvas = Tk()
page = urllib.request.urlopen("https://web2.hirez.com/smite-media//wp-content/uploads/2017/07/Fafnir.jpg")
background = Image.open(io.BytesIO(page.read()))
tkimage = ImageTk.PhotoImage(background)
panel1 = Label(canvas, image=tkimage)
panel1.grid(ipadx=0, ipady=0, sticky=E)
mainloop()

当前结果

德米安·沃尔夫

使用size属性和resize(w, h)方法做您想要的。这是一个示例,将图像大小减半:

from tkinter import *
import io
import urllib.request
from PIL import ImageTk, Image


canvas = Tk()
page = urllib.request.urlopen("https://web2.hirez.com/smite-media//wp-content/uploads/2017/07/Fafnir.jpg")
background = Image.open(io.BytesIO(page.read()))
width, height = background.size
background = background.resize((width // 2, height // 2))
tkimage = ImageTk.PhotoImage(background)
panel1 = Label(canvas, image=tkimage)
panel1.grid(ipadx=0, ipady=0, sticky=E)
mainloop()

注意:不要使用width / 2width // 2而要使用-否则,如果将浮点数作为除法结果,则将导致TypeError。

注意1:如果输出图像的质量对您来说比速度更重要,请使用background.resize((width // 2, height // 2), Image.ANTIALIAS)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

没有滚动条尺寸的情况下如何获得内部窗口的高度?(不能通过clientHeight)

来自分类Dev

如何在没有滚动条的情况下滚动Div?

来自分类Dev

如何在没有滚动条的情况下获取radChildwindow?

来自分类Dev

如何在没有滚动条的情况下以全屏方式打开批处理程序?

来自分类Dev

如何在没有滚动条的情况下创建水平可滑动菜单?

来自分类Dev

如何在没有滚动条的情况下向 flexbox 添加负边距(不显示,无法滚动,没有黑客)

来自分类Dev

为什么没有高度也没有很多信息的情况下仍显示滚动条

来自分类Dev

溢出-y:隐藏和溢出-x:隐藏,但是如何在没有滚动条的情况下向下滚动

来自分类Dev

在C#中如何在没有bigint的情况下增加或减去非常大的数字?

来自分类Dev

使用CSS在没有滚动条的情况下滚动内容

来自分类Dev

在没有分布式事务的情况下从非常大的OPENQUERY插入结果

来自分类Dev

如何在没有滚动条的情况下使第二个div填充屏幕的剩余高度?

来自分类Dev

如何使用引导程序在没有水平滚动条的情况下打印换行文本?

来自分类Dev

如何在没有水平滚动条的情况下隐藏<body>左侧的DOM元素?

来自分类Dev

如何在不显示垂直滚动条的情况下显示标题?

来自分类Dev

在没有滚动条宽度的情况下获取Div宽度

来自分类Dev

在没有滚动条的情况下获取div的高度

来自分类Dev

在没有托管页面滚动条的情况下打印iframe的内容

来自分类Dev

在没有托管页面滚动条的情况下打印iframe的内容

来自分类Dev

在没有Parallel Processing Toolkit的情况下在MATLAB中对非常大的图像集进行图像处理的并行化

来自分类Dev

如何在没有垂直滚动条的情况下设置100%的高度?

来自分类Dev

是否可以在不拉伸或不显示滚动条的情况下使我的幻灯片中的所有图像全尺寸

来自分类Dev

tkinter滚动条没有滚动条

来自分类Dev

如何在不删除选择框滚动条的情况下删除浏览器滚动条

来自分类Dev

如何在不删除选择框滚动条的情况下删除浏览器滚动条

来自分类Dev

JSON中的ID非常大,如何在不损失精度的情况下获取它

来自分类Dev

如何在不冻结DOM的情况下使用JavaScript加载非常大的词典?

来自分类Dev

主题:如何在没有用户干预的情况下自动移动滚动条

来自分类Dev

在禁用滚动条的情况下获取RichTextBox中的滚动条“位置”

Related 相关文章

  1. 1

    没有滚动条尺寸的情况下如何获得内部窗口的高度?(不能通过clientHeight)

  2. 2

    如何在没有滚动条的情况下滚动Div?

  3. 3

    如何在没有滚动条的情况下获取radChildwindow?

  4. 4

    如何在没有滚动条的情况下以全屏方式打开批处理程序?

  5. 5

    如何在没有滚动条的情况下创建水平可滑动菜单?

  6. 6

    如何在没有滚动条的情况下向 flexbox 添加负边距(不显示,无法滚动,没有黑客)

  7. 7

    为什么没有高度也没有很多信息的情况下仍显示滚动条

  8. 8

    溢出-y:隐藏和溢出-x:隐藏,但是如何在没有滚动条的情况下向下滚动

  9. 9

    在C#中如何在没有bigint的情况下增加或减去非常大的数字?

  10. 10

    使用CSS在没有滚动条的情况下滚动内容

  11. 11

    在没有分布式事务的情况下从非常大的OPENQUERY插入结果

  12. 12

    如何在没有滚动条的情况下使第二个div填充屏幕的剩余高度?

  13. 13

    如何使用引导程序在没有水平滚动条的情况下打印换行文本?

  14. 14

    如何在没有水平滚动条的情况下隐藏<body>左侧的DOM元素?

  15. 15

    如何在不显示垂直滚动条的情况下显示标题?

  16. 16

    在没有滚动条宽度的情况下获取Div宽度

  17. 17

    在没有滚动条的情况下获取div的高度

  18. 18

    在没有托管页面滚动条的情况下打印iframe的内容

  19. 19

    在没有托管页面滚动条的情况下打印iframe的内容

  20. 20

    在没有Parallel Processing Toolkit的情况下在MATLAB中对非常大的图像集进行图像处理的并行化

  21. 21

    如何在没有垂直滚动条的情况下设置100%的高度?

  22. 22

    是否可以在不拉伸或不显示滚动条的情况下使我的幻灯片中的所有图像全尺寸

  23. 23

    tkinter滚动条没有滚动条

  24. 24

    如何在不删除选择框滚动条的情况下删除浏览器滚动条

  25. 25

    如何在不删除选择框滚动条的情况下删除浏览器滚动条

  26. 26

    JSON中的ID非常大,如何在不损失精度的情况下获取它

  27. 27

    如何在不冻结DOM的情况下使用JavaScript加载非常大的词典?

  28. 28

    主题:如何在没有用户干预的情况下自动移动滚动条

  29. 29

    在禁用滚动条的情况下获取RichTextBox中的滚动条“位置”

热门标签

归档