import io
#python -m pip install pillow (pillow是3版本之后的包PIL是2版本的)
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 = 400
h_box = 200
# open as a PIL image object
#以一个PIL图像对象打开
pil_image = Image.open(r'S.png')
# 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()
相关推荐
Python Tkinter安装配置全指南:从零搭建GUI开发环境
图形用户界面(GUI)是连接用户与程序的重要桥梁,其核心原理是通过可视化控件实现人机交互。在Python生态中,Tkinter作为标准库内置的GUI工具包,凭借其轻量级、跨平台和开箱即用的特性,成为初学者入门GUI开发的首选技术。其技术价值在于无需处理复杂依赖关系,通过简洁的Python语法即可调用底层Tk库功能,快速构建桌面应用程序。在小型工具开发、教学演示和资源受限环境等应用场景中,Tkinter展现出独特优势。本文聚焦Tkinter的安装与配置,针对Windows、macOS和Linux等不同操作系统
python tk 图片自适应控件大小
部分代码如下 from PIL import Image, ImageTk self.img = Image.open("3.png") self.img = self.img.resize((550, 160), Image.ANTIALIAS) self.img = ImageTk.PhotoImage(self.img) self.imgLabel = tk.Label(root, image=self.img) self.imgLabel.place(relx=0.113, r
VCL for PHP,Konopka Signature VCL Controls (Raize Components 6.2.3) for Delphi 10.4
The Raize Components suite includes a variety of interface design tools for Delphi programming language and C ++ Builder, which includes over 125 VCL controls and over 100 different tools for creating...
tkinter标签中添加图片
LabelImage图像PhotoImage添加jpg文件文字与图像共存 图像PhotoImage 语法如下 imageobj = PhotoImage(file="xxx.gif") 请留意早期PhotoImage只支持GIF格式,现在已经接受jpg和png了,为了使用方便将GIF图片放在程序所在的文件夹中。 在标签中可以用image=imageobj参数设置此图像对象 实例代码 #!usr/bin/env python3 # -*- coding: UTF-8 -*- from tkinter i
TwinCAT3实战:从零搭建倍福PLC的Modbus-TCP Server
本文详细介绍了如何使用TwinCAT3从零搭建倍福PLC的Modbus-TCP Server,包括环境准备、工程配置、参数设置、客户端连接测试及常见问题排查。通过实战步骤和实用技巧,帮助工程师快速掌握倍福PLC与Modbus-TCP的通信实现,提升工业自动化项目的开发效率。
保姆级教程:手把手教你为STM32F407和W25Q128制作Keil MDK的SPI Flash下载算法(FLM文件)
本文提供了一份详细的教程,指导开发者如何为STM32F407和W25Q128制作Keil MDK的SPI Flash下载算法(FLM文件)。从理解下载算法的核心机制到实现FlashPrg.c的核心操作,再到链接脚本与地址映射实战,手把手教你完成定制化SPI Flash下载算法的开发与优化。
frame越过另一个frame_tkinter做一个本地视频播放器(2)——弹幕
前文我们已经完成了一个集暂停、倍速、显示进度条功能为一体的视频播放器,今天我们再来增加一个新的功能——发送弹幕。tkinter播放视频的原理,就是读取每一帧的图片,然后刷新画布。所以如果想实现弹幕功能,只要获取输入文本框中的文本,再写到图片上就好了。cv2.putText能够实现这个功能,但无法添加中文,所以我们需要换一种方法。首先,我们需要from PIL import ImageDraw,Im...
Unity 面试篇⚠️ | Unity性能优化好,山寨机都能跑~
Unity 面试篇⚠️ | Unity性能优化好,山寨机都能跑~
tkinter图片查看器
from tkinter import * from PIL import ImageTk,Image #PTL包需要pip安装,这个包才能让python加载jpg等其它各式图片 root = Tk() root.title(" '.' ") my_img1 = ImageTk.PhotoImage(Image.open("1.jpg")) my_img2 = ImageTk.PhotoImage(Image.open("2.jpg")) my_img3 = ImageTk.PhotoImage(Im
第十四节《OpenCascade集成Qt》
将 OpenCascade 与 Qt 集成是开发图形界面应用的常见需求。通过将 OpenCascade 的几何建模与 Qt 的图形用户界面(GUI)功能结合,可以创建强大而灵活的 CAD 或建模工具。OpenCascade 提供了与 Qt 的集成接口,允许你在 Qt 应用程序中嵌入 OpenCascade 的视图,执行几何操作,并与用户进行交互。以下是 OpenCascade 与 Qt 集成的详细步骤:首先,确保已安装 OpenCascade 和 Qt。你可以从 OpenCascade 官方网站或通过包管理
手把手教你学Simulink——基于Simulink的CLLC谐振变换器双向对称控制
本文介绍了一种基于Simulink的CLLC谐振变换器双向对称控制方法。针对CLLC拓扑的多阶谐振特性,采用固定频率、50%占空比、仅调节相位差的对称控制策略,实现了宽电压范围调节和全负载ZVS软开关。详细阐述了Simulink建模步骤,包括功率级搭建、相位差生成逻辑和双向切换实现,并通过仿真验证了稳态性能和双向无缝切换能力。该方法解决了传统PFM控制的不足,具有控制简单、效率高、易于工程实现的优势,适用于车载充电和储能系统等双向功率应用场景。
python缩小图片_python打开网络图片并缩放
# -*- coding:utf-8 -*-''' tk_image_view_url_io_resize.pydisplay an image from a URL using Tkinter, PIL and data_streamalso resize the web image to fit a certain size display widgetretaining its aspect...
斯坦福大学3D点云模型下载
本文整理了斯坦福大学10个经典的点云(pcd)及其模型(ply),方便日后使用,欢迎免费下载!
python打开网络图片并缩放
转自:http://www.jb51.net/article/64855.htm ''' tk_image_view_url_io_resize.py display an image from a URL using Tkinter, PIL and data_stream also resize the web image to fit a certain size display wi
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
python用pil图像放大缩小_Python 使用PIL中的resize进行缩放的实例讲解
Python 使用PIL中的resize进行缩放的实例讲解今天突然发现自己缩放程序有问题,图片缩放尺度大了就会失真。小编一直使用的是缩小的功能,图片缩小整体0.7还可以,整体缩小0.65就会有部分的信息丢失,怎奈我的图都是大图,没办法只能寻找解决方法。原来代码img = img.resize((width, height))后来找资料发现 PIL带ANTIALIAS滤镜缩放结果所以将代码改为:im...
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
python(50) : 图片转ICO[Windows工具(4)]
一个简单易用的图片转ICO图标工具,支持拖拽操作,让图标转换变得更加便捷。
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
python实现图片尺寸修改与打包exe文件
前言 因为图片大小不一致,想要将图片修改为统一的宽度,为了保证图片不变形不失真,所以高度要自适应才好。其实也就是一些计算高度宽度罢了,问题来了,在网上寻找一些现有的app但是没找到这个需求的,那么就自己写程序好喽,想了想用python写也比较好,代码思路如下: 代码思路 获取图片原来的长度宽度,根据标准的宽度计算自适应的高度,再将新的宽高给到新的图片,最后输出新的图片,大功告成,代码如下: import os import tkinter from PIL import Image import cale
Python Tkinter实战:5分钟搞定图片查看器(附完整代码)
本文详细介绍了如何使用Python Tkinter库快速开发一个功能完整的图片查看器,包含环境配置、核心代码实现及功能增强技巧。通过不到50行代码,即可实现图片选择、自动缩放和错误处理等基础功能,适合日常使用或项目集成。文章还提供了扩展功能的实用建议,帮助开发者进一步提升工具性能。
Python图像批处理实战:PIL库批量缩放、格式转换与7图处理案例
图像批处理是计算机视觉和数字图像处理中的基础技术概念,指通过编程自动化对多张图片执行统一操作。其核心原理是利用图像处理库批量读取、修改和保存图片文件,通过算法实现尺寸调整、格式转换等操作。在Python生态中,Pillow(PIL)库因其轻量高效成为首选工具,支持JPEG、PNG等常见格式处理。批处理的技术价值在于显著提升工作效率,确保处理效果一致性,避免人工操作的重复劳动。典型应用场景包括电商商品图优化、证件照批量裁剪、社交媒体内容生产等实际工程需求。本文以7张图片的实战案例为切入点,详细解析基于Pyth
【Python】基于Tkinter的GIF显示(基于PIL的GIF图片读取和保存)
【Python】基于Tkinter的GIF显示(基于PIL的GIF图片读取和保存)
用Tkinter打造自己的Python IDE开发工具(5)利用HP_tka模块设计自己的中文代码编辑器
用Tkinter打造自己的Python IDE开发工具(5)利用HP_tka模块设计自己的中文代码编辑器 前面我们介绍了在Tkinter中使用exec()函数运行用户程序的方法。exec()采用多线程方式运行用的Python代码,容易使编辑器程序崩溃。此外,如果用户也是开发Tkinter应用程序,会对用Tkinter开发的编辑器软件有影响。因此以前采用的外部运行Python代码模式。 我们设计了一个批处理文件[run_py.bat],文件内容如下。 @python.exe -i %1 %2 %3 %4
5 分钟接入大麦自动抢票:ticket-purchase 源码实战指南
热门演唱会有时开售 3 秒就售罄,靠人手速基本没戏。ticket-purchase 是一个开源的大麦自动抢票工具,用 Selenium 和 Appium 分别驱动网页端和 App,自动打开详情页、选城市场次票档、勾选观演人并提交订单——整个大麦抢票链路,你只需要填一份配置文件。对开发者来说,它更大的价值在于源码足够直接,是一套拿来就能改、能接进自己系统的自动化骨架。 [


被折叠的 条评论
为什么被折叠?



