转载自大神 https://blog.csdn.net/sinat_27382047 的博客
谢谢分享!!!!!

import io
from PIL import Image, ImageTk
import tkinter as tk  def resize(w, h, w_box, h_box, pil_image):  ''' resize a pil_image object so it will fit into a box of size w_box times h_box, but retain aspect ratio 对一个pil_image对象进行缩放,让它在一个矩形框内,还能保持比例 '''  f1 = 1.0*w_box/w # 1.0 forces float division in Python2  f2 = 1.0*h_box/h  factor = min([f1, f2])  #print(f1, f2, factor) # test  # use best down-sizing filter  width = int(w*factor)  height = int(h*factor)  return pil_image.resize((width, height), Image.ANTIALIAS)  root = tk.Tk()
# size of image display box you want
#期望图像显示的大小
w_box = 800
h_box = 800  # open as a PIL image object
#以一个PIL图像对象打开
pil_image = Image.open(r'C:\Users\23216\Desktop\1.jpg')  # get the size of the image
#获取图像的原始大小
w, h = pil_image.size  # resize the image so it retains its aspect ration
# but fits into the specified display box
#缩放图像让它保持比例,同时限制在一个矩形框范围内
pil_image_resized = resize(w, h, w_box, h_box, pil_image)  # convert PIL image object to Tkinter PhotoImage object
# 把PIL图像对象转变为Tkinter的PhotoImage对象
tk_image = ImageTk.PhotoImage(pil_image_resized)  # put the image on a widget the size of the specified display box
# Label: 这个小工具,就是个显示框,小窗口,把图像大小显示到指定的显示框
label = tk.Label(root, image=tk_image, width=w_box, height=h_box)
#padx,pady是图像与窗口边缘的距离
label.pack(padx=5, pady=5)
root.mainloop()

tkinter实现图片自适应相关推荐

  1. Python + Tkinter:图片浏览器(二)

    Python + Tkinter:图片浏览器(二) 前言 说明 改进 功能 图片导航 显示上一张高清图片 显示下一张高清图片 缩略图导航 缩略图列表 缩略图上一页 缩略图下一页 缩略图指引 图片管理 ...

  2. python的tkinter插入图片_详解python tkinter 图片插入问题

    通过tkinter.PhotoImage插入GIF, PGM/PPM格式的图片. import tkinter class Gui: def __init__(self): self.gui=tkin ...

  3. 基于jQuery图片自适应排列显示代码

    基于jQuery图片自适应排列显示代码.这是一款基于jquery.flex-images插件实现的类似谷歌图片流效果.效果图如下: 在线预览    源码下载 实现的代码. html代码: <di ...

  4. 微信小程序 --- 图片自适应、本地图片的使用

    1.关于图片自适应 image标签中添加mode属性: 默认值:scaleToFill  ----  不保持纵横比例缩放图片,使图片的宽高完全拉伸至填满image标签 aspectFit  ---- ...

  5. 移动Web开发图片自适应两种常见情况解决方案

    本文主要说的是Web中图片根据手机屏幕大小自适应居中显示,图片自适应两种常见情况解决方案.开始吧 在做配合手机客户端的Web wap页面时,发现文章对图片显示的需求有两种特别重要的情况,一是对于图集, ...

  6. css实现图片自适应容器的几种方式

    css实现图片自适应容器 经常有这样一个场景,需要让图片自适应容器的大小. 1.img标签的方式 我们马上就能想到,把width.height 设置为100%啊.来看一哈效果. <div cla ...

  7. 微信小程序swiper图片尺寸_微信小程序之swiper轮播图中的图片自适应高度的方法...

    小程序中的轮播图很简单,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,这样如果传入的图片大于这个高度就会被隐藏.辣么,怎样让图片自适应不同分辨率捏. 我的思路是:获取屏幕宽度 ...

  8. 让图片自适应大小的方法

    1. 用后台程序自动生成缩略图 2. 用css调用expression控制图片溢出后的大小: (http://www.blog.edu.cn/user1/7987/archives/2006/1440 ...

  9. Android ImageView图片自适应

    网络上下载下来的图片自适应:android:adjustViewBounds="true"(其详细解释在下面) <ImageView     android:id=" ...

最新文章

  1. 基于海康机器视觉算法平台的对位贴合项目个人理解
  2. MyBatis版本升级引发的线上告警回顾及原理分析
  3. micropython驱动lcd_k210 编译micropython LCD驱动失败
  4. Python3 爬虫学习笔记 C16【数据储存系列 — Redis】
  5. Pandas 文本数据方法 join( )
  6. 大型网站技术架构读书笔记
  7. Android_View,ViewGroup,Window之间的关系
  8. 计算机原理及应用教学大纲,《单片机原理及应用技术》课程教学大纲
  9. Unity Shader 中获取屏幕坐标
  10. phyton做年历和月历
  11. 现在写Android,性能优化太重要了!
  12. java如何设置控制台打印的字体颜色、背景、字体样式(idea设置打印字体样式)工具类 - 附插件方式
  13. mysql存储指纹,mysql - ZKTeco 4500指纹验证 - 堆栈内存溢出
  14. 期权最新高频行情数据
  15. ArcGIS 10 Desktop 最简安装及完全破解-- 终结者版本
  16. 【Oracle】关于索引的那些事
  17. 12306 火车票 Python爬虫 车次信息及经停站信息
  18. 71外链论坛_免费发外链平台
  19. 红细胞膜包裹载抗癌药的PLGA纳米载体/聚多巴胺涂覆载药plga材料(生物偶联)
  20. FM25V05-GTR 存储器 CYPRESS

热门文章

  1. 中国有多少个省,多少个直辖市,多少个特别行政区,多少个自治区
  2. UX、UI、 IA和IxD傻傻分不清
  3. Vue-Element-admin 框架上使用 Hiprint 打印插件 一、项目介绍
  4. 软件工程(三)——结构化需求分析 (重点)
  5. 石油勘探开发知识图谱技术实现思路探讨
  6. phpstorm文件的大纲里的m、f、fx是什么意思?
  7. 关于多开几台虚拟机就蓝屏重启的解决方案
  8. 家族关系查询系统程序设计算法思路_数据结构设计(家族关系查询系统)汇编.doc...
  9. 天境生物启动A股上市辅导:已实现盈利,臧敬五不再是主要股东?
  10. 学习记录:RGBA格式数据加边框