我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python PIL图片怎么按比例裁剪

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python PIL图片怎么按比例裁剪

这篇文章主要介绍“Python PIL图片怎么按比例裁剪”,在日常操作中,相信很多人在Python PIL图片怎么按比例裁剪问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python PIL图片怎么按比例裁剪”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

PIL图片如何按比例裁剪

问题描述

如图片比例为 1:1 裁剪为 4:3

jpg

Python PIL图片怎么按比例裁剪

解决方案

from PIL import Imagedef image_clip(filename, savename, width_scale, height_scale):    """图像裁剪    :param filename: 原图路径    :param savename: 保存图片路径    :param width_scale: 宽的比例    :param height_scale: 高的比例    """    image = Image.open(filename)    (width, height), (_width, _height) = image.size, image.size    _height = width / width_scale * height_scale    if _height > height:        _height = height        _width = width_scale * height / height_scale    image.crop((0, 0, _width, _height)).save(savename)  # 左上角    # image.crop((0, height - _height, _width, height)).save(savename)  # 左下角    # image.crop((width - _width, 0, width, _height)).save(savename)  # 右上角    # image.crop((width - _width, height - _height, width, height)).save(savename)  # 右下角if __name__ == '__main__':    filename = '1.jpg'    savename = 'result.jpg'    image_clip(filename, savename, width_scale=4, height_scale=3)    # image_clip(filename, savename, width_scale=3, height_scale=4)

效果

Python PIL图片怎么按比例裁剪

PIL调整图片大小

使用 PIL 在图片比例不变的情况下修改图片大小。

介绍

Image.resize

def resize(self, size, resample=BICUBIC, box=None, reducing_gap=None):    """    Returns a resized copy of this image.    返回此图像的大小调整后的副本。    :param size: The requested size in pixels, as a 2-tuple:       (width, height).     param size: 请求的大小(以像素为单位),是一个二元数组:(width, height)    :param resample: An optional resampling filter.  This can be       one of :py:attr:`PIL.Image.NEAREST`, :py:attr:`PIL.Image.BOX`,       :py:attr:`PIL.Image.BILINEAR`, :py:attr:`PIL.Image.HAMMING`,       :py:attr:`PIL.Image.BICUBIC` or :py:attr:`PIL.Image.LANCZOS`.       Default filter is :py:attr:`PIL.Image.BICUBIC`.       If the image has mode "1" or "P", it is       always set to :py:attr:`PIL.Image.NEAREST`.       See: :ref:`concept-filters`.     param resample: 一个可选的重采样过滤器。    :param box: An optional 4-tuple of floats providing       the source image region to be scaled.       The values must be within (0, 0, width, height) rectangle.       If omitted or None, the entire source is used.     param box: 可选的4元浮点数,提供要缩放的源映像区域。    :param reducing_gap: Apply optimization by resizing the image       in two steps. First, reducing the image by integer times       using :py:meth:`~PIL.Image.Image.reduce`.       Second, resizing using regular resampling. The last step       changes size no less than by ``reducing_gap`` times.       ``reducing_gap`` may be None (no first step is performed)       or should be greater than 1.0. The bigger ``reducing_gap``,       the closer the result to the fair resampling.       The smaller ``reducing_gap``, the faster resizing.       With ``reducing_gap`` greater or equal to 3.0, the result is       indistinguishable from fair resampling in most cases.       The default value is None (no optimization).     param reducing_gap: 通过两个步骤调整图像大小来应用优化。    :returns: An :py:class:`~PIL.Image.Image` object.     returns: 返回一个 PIL.Image.Image 对象    """

看代码吧

from PIL import Image  image = Image.open('图片路径') # 调整图片大小,并保持比例不变# 给定一个基本宽度base_width = 50 # 基本宽度与原图宽度的比例w_percent = base_width / float(image.size[0]) # 计算比例不变的条件下新图的长度h_size = int(float(image.size[1]) * float(w_percent)) # 重新设置大小# 默认情况下,PIL使用Image.NEAREST过滤器进行大小调整,从而获得良好的性能,但质量很差。image = image.resize((base_width, h_size), Image.ANTIALIAS)

到此,关于“Python PIL图片怎么按比例裁剪”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python PIL图片怎么按比例裁剪

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python PIL图片怎么按比例裁剪

这篇文章主要介绍“Python PIL图片怎么按比例裁剪”,在日常操作中,相信很多人在Python PIL图片怎么按比例裁剪问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python PIL图片怎么按比例裁剪
2023-06-30

怎么用python裁剪图片

这篇文章主要介绍“怎么用python裁剪图片”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用python裁剪图片”文章能帮助大家解决问题。一、 安装PIL库如果此前没有安装过PIL库,在pyth
2023-07-02

dedecms 5.6 缩略图按大小比例缩小裁剪

这样的话,如果图编程客栈片的宽高比例不合适,那么缩略图将会被压缩得很不好看,在这里,我是先对图片进行按宽或高进行放缩,超过缩略图大小的部分再进行裁剪,这样生成的缩略图的显示效果要比原来的要好得多了。 于是重新修改了一下DEDEcms v5.
2022-06-12

Android 以任意比例裁剪图片代码分享

公司的一个小伙伴写的,可以按照任意比例裁剪图片。我觉得挺好用的。简单在这里记录一下,以后肯定还会用到。public class SeniorCropImageView extends ImageView implements ScaleGe
2022-06-06

Python图片处理之图片裁剪的示例分析

小编给大家分享一下Python图片处理之图片裁剪的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、操作流程首先会吧?1.有张照片这是网上随便找的一张照片,自行保存测试2.看看照片运行代码,其中show_img函数
2023-06-15

windows中coreldraw怎么裁剪图片

本文小编为大家详细介绍“windows中coreldraw怎么裁剪图片”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows中coreldraw怎么裁剪图片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。c
2022-12-02

vue-cropper怎么实现裁剪图片

这篇文章主要讲解了“vue-cropper怎么实现裁剪图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-cropper怎么实现裁剪图片”吧!先展示一下效果如何使用:1、安装 npm
2023-06-30

基于RxPaparazzo实现图片裁剪、图片旋转、比例放大缩小功能

前言:基于RxPaparazzo的图片裁剪,图片旋转、比例放大|缩小。效果: 开发环境:AndroidStudio2.2.1+gradle-2.14.1 涉及知识:1.Material Design(CardView+Coordinator
2023-05-31

cropperjs怎么实现裁剪图片功能

这篇“cropperjs怎么实现裁剪图片功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“cropperjs怎么实现裁剪图片
2023-06-29

前端vue cropperjs怎么实现图片裁剪

这篇文章主要介绍“前端vue cropperjs怎么实现图片裁剪”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“前端vue cropperjs怎么实现图片裁剪”文章能帮助大家解决问题。图片裁剪图片裁剪
2023-07-02

vue中怎么使用vue-cropper裁剪图片

这篇文章主要讲解了“vue中怎么使用vue-cropper裁剪图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中怎么使用vue-cropper裁剪图片”吧!一、安装:npm inst
2023-06-21

Java是怎么实现图片裁剪功能的

今天就跟大家聊聊有关Java是怎么实现图片裁剪功能的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言下面提供将图片按照自定义尺寸进行裁剪的Java工具类,一如既往的实用主义。Mav
2023-06-29

python中opencv通过4坐标剪裁图片的示例分析

这篇文章主要介绍python中opencv通过4坐标剪裁图片的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文主要介绍了python opencv通过4坐标剪裁图片,分享给大家,具体如下:效果展示, 裁剪出
2023-06-15

使用css怎么实现动态图片裁剪

今天就跟大家聊聊有关使用css怎么实现动态图片裁剪,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
2023-06-09

Java怎么实现按比例缩小图片

这篇文章主要讲解了“Java怎么实现按比例缩小图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java怎么实现按比例缩小图片”吧!使用spring注解上传文件@RequestParam(v
2023-06-30

Java中怎么实现一个图片剪裁功能

Java中怎么实现一个图片剪裁功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Listing1: 引入的类import java.awt.Graphics; impor
2023-06-17

Android怎么实现手势划定区域裁剪图片

这篇文章主要介绍“Android怎么实现手势划定区域裁剪图片”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android怎么实现手势划定区域裁剪图片”文章能帮助大家解决问题。需求:拍照,然后对图片进
2023-06-30

怎么在Linux的命令行中实现裁剪图片

本篇内容介绍了“怎么在Linux的命令行中实现裁剪图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!当涉及到在Linux中转换或编辑图像文件
2023-06-13

Java实现的微信图片处理工具类【裁剪,合并,等比例缩放等】

本文实例讲述了Java实现的微信图片处理工具类。分享给大家供大家参考,具体如下:现在 外面核心,图片文章比较少,看了拷贝代码,而用不了,用相应jar包处理,很多等比例缩放,达不到 想要的给予的期望:本工具类,是之前做微信打印机写的 基于ja
2023-05-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录