示例代码使用Python 的PIL和Tkinter库。根据屏幕大小按照原图片长宽比例进行无拉伸的等比例缩放。预设屏幕方向为竖屏(1080 * 4096),仅是为了适应手机图片。图片缩放比例对照原图的长宽比例,分多次进行,包含快速调整、精确微调以及适应性调整。

# ...
from PIL import Image, ImageTk
# ...
# 预设竖屏图片尺寸
I_WIDTH = 1080
I_HEIGHT = 4096def image_resize(path, screen_width=0, screen_height=0):image = Image.open(path)if screen_width <= 0:screen_width = I_WIDTHif screen_height <= 0:screen_height = I_HEIGHTraw_width, raw_height = image.size[0], image.size[1]max_width, max_height = raw_width, screen_height        min_width = max(raw_width, max_width)# 按照比例缩放min_height = int(raw_height * min_width / raw_width)# 第1次快速调整while min_height > screen_height:min_height = int(min_height * .9533)# 第2次精确微调while min_height < screen_height:min_height += 1# 按照比例缩放min_width = int(raw_width * min_height / raw_height)# 适应性调整   while min_width > screen_width:min_width -= 1# 按照比例缩放min_height = int(raw_height * min_width / raw_width)return image.resize((min_width, min_height))

Python + PIL + Tkinter: 图片原比例缩放相关推荐

  1. html图片缩放6,四款css 图片按比例缩放实例(兼容ie6,7,firefox)

    使用max-width,max-height:或者min-width,min-height的css属性即可.如: 代码如下 img{max-width:100px;max-height:100px;} ...

  2. CSS实战笔记(十二) 图片等比例缩放

    1.背景 在网页展示图片是一个很常见的需求,大多数情况下,展示区域的大小是固定的,原图片的大小也是固定的 如果展示区域的宽高和原图片的宽高不等比例,那么在默认情况下很可能会压缩或拉伸图片以适应区域大小 ...

  3. html5表格图片按比例缩放,JS图片等比例缩放方法完整示例

    本文实例讲述了JS图片等比例缩放方法.分享给大家供大家参考,具体如下: /p> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional ...

  4. 理解CSS3中的background-size(对响应性图片等比例缩放)

    理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...

  5. jquery实现图片等比例缩放,解决max-width在ie中不兼容问题

    上次用原生的JavaScript实现的图片等比例缩放,max-width和max-height在ie6中不兼容问题,今天用jQuery实现了这些问题 jQuery部分代码 <script typ ...

  6. 用JavaScript实现网页图片等比例缩放

    如何让网页中的图片等比例缩放呢,我参考了一些代码并自己写了个图片缩放的脚本,可以点击放大,同时用鼠标滑轮自由缩放,希望提出不同意见. 首先看看resizeimg函数的源代码: function res ...

  7. html img图片等比例缩放_我掏空了各大搜索引擎,整理了HTML图片标签笔记,满满干货...

    img标签介绍 介绍 img: 英文全称 image(图像),代表的是一张图片. 如果要想在网页中显示图像,就可以使用img 标签,它是一个单标签.语法如下: <img src="图片 ...

  8. html图片等比例拉伸,CSS控制图片等比例缩放

    我们经常会需要把用户上传的图片等比例缩放在我们的网页上显示,下面我来介绍利用css控制图片比例缩放与javascript实现的方法,有需要了解的朋友可参考参考. 按比例缩小或者放大到某个尺寸,对于标准 ...

  9. androidstudio图片居中_Android imageView图片按比例缩放-Fun言

    android:scaleType可控制图片的缩放方式,示例代码如下:说明:centerInside表示按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度.注意:控制的图片为资源而不是背景,即 ...

最新文章

  1. IASetIndexBuffer Offset
  2. (转)jQuery禁止右键菜单,全选
  3. SAP Cloud for Customer ABSL的一些优化
  4. mysql记录当前表数据的数据条数据类型_mysql的表的操作 数据类型
  5. strtotime()加半个小时_椰子鸡这样做太好吃了,一滴水不用加,鲜香嫩滑,做法非常简单...
  6. 爬虫入门四(多线程爬虫)
  7. 已经人均5G了?5G手机没人买,iPhone 11没5G该不该被嘲讽?
  8. 2017杭州云栖大会FAQ(持续更新中)
  9. SQLAlchemy的使用---M2M增删改查
  10. CF1041E Tree Reconstruction_构造_思维题
  11. java中==与equals的区别及理解_Java开发中常量池的理解与归纳
  12. Java的BIO,NIO和AIO的区别于演进
  13. 2021-07-13
  14. c语言题库-礼炮声响次数,c语言题库与答案精华版资料.doc
  15. uni-app开发APP上架应用市场遇到的坑
  16. JS思维导图类库:jsMind
  17. U3D 简化版跳一跳小游戏 实现(新手入门) (附源码下载链接,整个工程文件)
  18. python计算球体体积_漫谈超球体的体积公式
  19. 树莓派外接扩展板的的测试
  20. 2908. Annoying painting tool

热门文章

  1. SQL Server 2019数据库还原数据报错
  2. 如何更改母版的公司名称及logo
  3. 教你做一个可以自定义的电子生日礼物(放屁熊猫生日礼物+VBS)
  4. android.bp编译生成so,Android导入第三方静态库.a编译成动态库.so
  5. 大数据集群失联问题解决方案
  6. 将c语言程序转化成伪代码,怎么把伪代码变成源代码
  7. 《工程硕士英语》MOOC习题解答
  8. Word文档如何转PPT
  9. mysql可扩展性和高可用
  10. 北京工业计算机英语口语复试,北京工业大学复试回忆