首页 > 编程语言 >使用python对图片resize

使用python对图片resize

时间:2024-11-11 16:59:17浏览次数:1  
标签:python height width new 图片 original resize size

使用python对图片resize

from PIL import Image

def resize_image(input_path, output_path, target_size):
    # 打开图像
    with Image.open(input_path) as img:
        # 获取原始宽度和高度
        original_width, original_height = img.size
        
        # 计算缩放比例
        aspect_ratio = int(original_width / original_height)/8*8
        
        # 根据目标宽度或高度计算新的尺寸
        if original_width > original_height:
            new_width = target_size
            new_height = int(target_size / aspect_ratio)
        else:
            new_height = target_size
            new_width = int(target_size * aspect_ratio)
        
        # 调整图像大小
        resized_img = img.resize((new_width, new_height), Image.LANCZOS)
        
        # 保存调整后的图像
        resized_img.save(output_path)

# 示例用法
resize_image('D:/Profile/Desktop/gpt/1101_lte.png', 'D:/Profile/Desktop/gpt/resize_1101_lte.png', 16)  # 将图像调整为宽度或高度为800

标签:python,height,width,new,图片,original,resize,size
From: https://www.cnblogs.com/sw-xiao/p/18525411

相关文章

  • markdown下载所有图片并保存
    markdown下载所有图片并保存importrefromdatetimeimportdatetimeimportrequests#读取txt文件内容withopen('d:\Profile\Downloads\Verilog基础语法(7)之generate块.md','r',encoding='utf-8')asf:content=f.read()#使用......
  • Ubuntu安装指定的python版本,不推荐直接装系统里
    Ubuntu安装指定的python版本,不推荐直接装系统里。因为依赖该版本的软件会打不开或崩掉(如ubuntu20.04的终端gnome-terminal依赖系统自带的python3.8,如果装成高版本,则终端只转圈,打不开) 如果硬要玩火,参见下述步骤。此处只做记录,不推荐这样搞。在conda虚拟环境里玩,稳当点。目前还没......
  • Python 学习记录 (4)
    Plotly常见可视化方案:以鸢尾花数据为例简单介绍:Ploty库也有大量统计可视化方案,并且这些可视化方案具有交互化属性。主要对鸢尾花数据进行处理与可视化。所展示的结果为交互界面的截图情况,这里不能进行交互。使用Plotly绘制散点图与箱型图,分类展示“花萼宽度”说明:类似'......
  • Python头歌~列表自学引导
    第一关,输入数据创建列表 第二关,计算每位选手的成绩 第三关,去除一个最高分和一个最低分 第四关,计算中位数成绩 第五关,去除弃权评委成绩 第六关,将平均成绩附加到列表末尾 第七关,读文件到二维列表 第八关,二维列表数据分析 第九关,成绩排序 ......
  • Python中日期时间与Unix时间戳互转
    importtime#日期格式转10位数的unix时间戳defunix_time(dt):#转换成时间数组timeArray=time.strptime(dt,"%Y-%m-%d%H:%M:%S")#转换成时间戳timestamp=time.mktime(timeArray)returntimestamp#10位unix时间戳转换为日期格式deflocal_time(ti......
  • python如何检查文件是否被修改过?
    在Python中,检查文件是否被修改过通常涉及到监控文件的最后修改时间。以下是几种常用的方法:使用os模块的os.path.getmtime()方法:os.path.getmtime()函数可以获取文件的最后修改时间。通过比较文件当前的修改时间和之前记录的修改时间,可以判断文件是否被修改过。pythonimportos......
  • python入门基础大全(全网最细)
    1.编码如果在程序中用到了中文,直接输出结果很可能会出错,比如:print("你好")解决的办法是,在程序的开头写入如下代码:#-*-coding:utf-8-*-或者#coding=utf-8用于向Python解释器声明源代码文件所用的编码类型为“utf-8”,如果代码里有中文,打印的时候可以使中文正常显示......
  • python做的交互式动态大图,真漂亮!
       精品专题:01.《C语言从不挂科到高绩点》课程详细笔记https://blog.csdn.net/yueyehuguang/category_12753294.html?spm=1001.2014.3001.548202.《SpringBoot详细教程》课程详细笔记https://blog.csdn.net/yueyehuguang/category_12789841.html?spm=1001.2014.3001.54......
  • Python编程:从入门到实践(第3版)_练习10.5:访客薄
    编写一个while循环,提示用户输入其名字。收集用户输入的所有名字,将其写入guest_book.txt,并确保这个文件中的每条记录都独占一行。frompathlibimportPathpath=Path('guest_book.txt')contents="请输入你的姓名(最后一位请输入'q'):\n"guest_names=[]wh......
  • 各个语言的标准输入输出(C++,Python,Go,MATLAB)
    标准输入和输出C/C++cin,cout,getline()进行输入输出#include<bits/stdc++.h>usingnamespacestd;intmain(){//输入`1231231` inta,b,c; cin>>a>>b>>c; cout<<a<<b<<c<<endl;//输出1231231并换行(endl代表换行) //输入`......