python 裁剪图片

情况:

有时候看视频,看到一个漂亮的妹子,按下 Alt + PrintScreen 进行截图之后,会把整个屏幕都截图。
需要适当剪裁一下。 每次打开 PS , 也太慢了。 所以写个代码, 快速处理。

效果对比:

原始图片:
在这里插入图片描述


剪裁后:

在这里插入图片描述

代码

from PIL import Image# 裁剪图片     5% 刚刚好!
def trim_image(image_path, output_path, percent=0.05):# 打开图片img = Image.open(image_path)# 获取图片的宽度和高度width, height = img.size# 计算需要裁剪的宽度和高度crop_width = int(width * percent)crop_height = int(height * percent)# 计算裁剪区域的坐标left = crop_widthtop = crop_heightright = width - crop_widthbottom = height - crop_height# 裁剪图片cropped_img = img.crop((left, top, right, bottom))# 保存裁剪后的图片cropped_img.save(output_path)print("done!")# 使用示例
trim_image('a.jpg', 'a2.jpg')

Todo

可以尝试把这个功能重写为一个 GUI .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS集成Ionicons库

目录 ​​​​​​​前言 一、ionicons-iOS 二、安装 三、使用方法 1.字体 2.UILabel: 3.UIImage 四、参考文章 前言 Ionicons 是一个完全开源的图标集,包含 1,300 个专为 Web、iOS、Android 和桌面应用程序设计的图标。Ionicons 是为 Ionic Framework 构建…

【2025留学】德国留学真的很难毕业吗?为什么大家不来德国留学?

大家好!我是德国Viviane,一句话讲自己的背景:本科211,硕士在德国读的电子信息工程。 之前网上一句热梗:“德国留学三年将是你人生五年中最难忘的七年。”确实,德国大学的宽进严出机制,延毕、休…

OOP知识整合----集合

目录 一、定义 1、集合: ( 不限制长度,存多少是多少) 2、集合框架: 二、List集合中常用的方法 1、Boolean add(Object o) 2、void add(int index,Object o) 3、Boolean remove(Object o) 4、Object remove(int index) 5、int size() 6、Boolean conta…

springboot集成mybatis时,dao层的mapper类需要添加@Repository注解吗?

在Spring Boot项目中,当你使用MyBatis作为ORM框架时,关于DAO层的Mapper类是否需要添加Repository注解,这主要取决于你的项目需求和配置。 Repository注解的作用Repository注解是Spring框架中用于声明持久层(DAO层)的组…

Code Effective学习笔记--第8章防御式编程

这一章聚焦如何通过断言和Java的异常处理机制这些防御式编程的方法来提高程序的健壮性和安全性,这是防御式编程技术的方面。但是健壮性和安全性到了一定的程度其实是矛盾的,健壮性意味着对于任何的输入,程序都不会终止而且都能给出返回&#…

Tftp服务器环境搭建

1、什么是Tftp TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种基于UDP(User Datagram Protocol)的文件传输协议,它被设计为一个非常简单的文件传输机制,特别适用于那些对复杂性有…

深入解析PHP框架:Symfony框架的魅力与优势

嘿,PHP开发者们!今天我们要聊一聊PHP世界中的一颗闪亮明星——Symfony框架。无论是初学者还是经验丰富的开发者,Symfony都为大家提供了强大的工具和灵活的特性。那就跟着我一起,来探索这个强大的PHP框架吧! 一、什么是…

make2exe:自动集成测试

模板Makefile,生成多个C/C模块的集成测试程序。

TypeScript通过MsgPack发送数组到C++反序列化失败

const object [MsgId.SelectRoles,[id]//虽然是整数,但是也强制转成FLOAT64发出去了/* */];const encoded: Uint8Array msgpack.encode(object);if (this.websocket ! undefined) {console.log(send,encoded)this.websocket.send(encoded)} struct MsgSelectRole…

简单理解闭包|作用域和作用域链|执行上下文

本文主要介绍对闭包|作用域和作用域链|执行上下文三个的理解。 1.闭包 (1)定义 闭包指有权访问另一个函数作用域中变量的函数。 (2)闭包的基本特性 函数嵌套:内部函数可以访问外部函数的作用域,包括参…

如何自定义语法与其他语句进行映射

1、如何自定义注解与hbase的api进行通信,自动进行类映射 2、如何定义一个对象 与sql中语法进行匹配 各种场景,都可以写一个针对特定软件的语法,进映射 package hbase;import org.apache.commons.lang3.StringUtils; import org.apache.had…

S7Comm

S7Comm 是西门子(Siemens)为其可编程逻辑控制器(PLC)系列,尤其是 S7-300 和 S7-400 系列,开发的一种专有通信协议。它允许这些 PLC 设备之间以及 PLC 与其它工业自动化组件(如 HMI、SCADA 系统或…

免费【2024】springboot 基于微信小程序的宠物服务中心

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

JavaDS —— 二叉搜索树、哈希表、Map 与 Set

前言 我们将学习 Map 与 Set 这两个接口下的 TreeMap 与 TreeSet ,HashMap 与 HashSet ,在学习这四个类使用之前,我们需要先学习 二叉搜索树与 哈希表的知识。 二叉搜索树 在学习二叉树的时候,我们就已经了解过二叉搜索树的概念…

代码随想录算法训练营DAY64|拓扑排序、dijkstra(朴素版)

拓扑排序精讲 from collections import dequedef bfs(degrees):nodes deque()for j in range(n):if degrees[j]0:nodes.append(j)result [] while nodes:idx nodes.popleft()result.append(str(idx))if depend[idx]:for file in depend[idx]:degrees[file]-1if degr…

酒店智能门锁接口pro[0922]D801 对接收银-SAAS本地化-未来之窗行业应用跨平台架构

proUSB接口函数[0922中性版]-D801 调用函数库: 提供Windows下的32位动态连接库proRFL.DLL,函数使用详细说明 //-----------------------------------------------------------------------------------// 功能:读DLL版本,不涉…

【Linux C | 网络编程】进程池退出的实现详解(五)

上一篇中讲解了在进程池文件传输的过程如何实现零拷贝,具体的方法包括使用mmap,sendfile,splice等等。 【Linux C | 网络编程】进程池零拷贝传输的实现详解(四) 这篇内容主要讲解进程池如何退出。 1.进程池的简单退…

在信息检索领域,NLP 如何能够更精准地理解用户的模糊或不完整的自然语言查询需求?

在信息检索领域,NLP(自然语言处理)可以使用多种技术来更精准地理解用户的模糊或不完整的自然语言查询需求。以下是一些常见的技术和方法: 词义消歧:NLP可以通过使用上下文信息、词汇数据库(如WordNet&#…

Greenplum数据库中的数据倾斜问题及处理方法

一、数据倾斜问题的原因 数据分布不均匀:当数据在表的分区或分片中不均匀分布时,会导致某些分区或分片的数据量较大,从而引发数据倾斜问题。连接键存在热点数据:如果连接操作中使用的键值存在热点数据,即某些键值出现…

Java并发编程(上)

并发:多个线程(进程)竞争一个资源 并行:多个线程(进程)同时运行不同资源 线程和进程的关系简单地说,进程是一个容器,一个进程中可以容纳若干个线程,一个进程里面&#…