Pillow 图片处理模块

pic = Image.open('11.jpg')
im = Image.new('RGB', (128, 128), (255, 0, 0))
im1 = Image.new('RGBA', (128, 128), (0, 0, 255))
pic1 = pic.copy()
pic1.paste(im, (640, 600), mask=im1)
pic1.save('22.jpg', quality=95, subsampling=0)

Image.copy()方法:将指定对象复制并返回。

Image.paste(im,(行,列),mask=None):在当前图片对象基础上,把im对象粘贴到指定位置,mask参数指定蒙板。

Image.save()方法:保存当前图片对象到指定位置。

具体说明

copy(): 拷贝当前的图片,拷贝出来的图片与原图一模一样。如果想在图片上粘贴一些内容,又想保留原图时,可以使用此方法。

paste(im, box=None, mask=None): 将另一张图片粘贴到当前图片中,如果粘贴的模式不匹配,则将被粘贴图片的模式转换成当前图片的模式。有3个参数。

im, 被粘贴的图片。传入一张图片,当第二个参数box指定的是一个区域时,im参数也可以是一个整数或颜色值(元组表示,16进制表示和颜色名都可以,如上面代码中的image_new可以换成(0, 0, 255), ‘#0000FF’, ‘blue’)。

box, 图片粘贴的位置或区域。传入一个长度为2或4的元组,如果不传值,默认为(0, 0),图片被粘贴在当前图片的左上角。如果传入长度为2的元组(x, y),表示被粘贴图片的左上角坐标位置。如果传入长度为4的元组(x1, y1, x2, y2),表示图片粘贴的区域,此时区域的大小必须与被粘贴图片一致,否则会报错,传入的元组长度为其他值也会报错。

mask, 蒙版。传入一张与被粘贴图片尺寸一样的图片,可以使用模式为’1’、’L’或者’RGBA’的图像。如果mask图像的颜色值为255,则直接按被粘贴图片的颜色粘贴,如果mask图像的颜色值为0,则保留当前图片的颜色(相当于没有粘贴),如果mask图像的颜色值为0~255之间的值,则将im与mask进行混合后再粘贴。

save(fp, format=None, quality=95, subsampling=0): 将当前图片按指定的文件名保存,运行后会将图片按新名字保存在当前路径下(也可以指定路径)。文件名最好带扩展名,方便打开,format表示图片的格式,没有指定format则会根据扩展名来解析(如果能解析出来),一般不需要指定format,传入一个规范的文件名即可。 quality:压缩比,默认是75。 subsampling:可选参数为0,1,2;选择0即可实现小变大的需求。

Original: https://www.cnblogs.com/amwkvi/p/16166126.html
Author: amwkvi
Title: Pillow 图片处理模块

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643473/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL慢查询优化问题-解决办法

    根据发现的问题,找到原因,然后对症下药 发现问题(主动/被动) 问题点:数据库查询过程中速度过慢的SQL语句 主动:数据库默认情况下slow_query_log的值为OFF,表示慢…

    技术杂谈 2023年6月21日
    0100
  • 云娜:从计算、存储角度,谈网易数据治理工具产品实践

    导读:在公司内部,业务线经常面临数据有哪些、质量如何、是否可用、能产生多大价值的困惑,并且,随着数据量的增加,计算和存储资源面临瓶颈。本次将围绕数据治理重点关注的计算、存储等方面,…

    技术杂谈 2023年7月25日
    0108
  • 软件基础的理论(1)

    软件基础的理论 一, 什么是软件产品 它是一个逻辑产品,没有实体,包括程序,文档和数据,需要通过终端设备才能体现出来功能和作用 二, 软件产品的中间过程文档 客户需求 &#…

    技术杂谈 2023年7月25日
    074
  • 最简单的学习往往是最无效的

    想必大家都是从学生时代过来的,或者现在还处于学生时代。 在学生时代,大家有没有见过,有的同学非常非常努力,上课听得非常认真,笔记也记录得非常认真,同时各种颜色和标记把书上画得密密麻…

    技术杂谈 2023年6月22日
    067
  • Spring Boot下的一种导出CSV文件的代码框架

    1、前言 ​ CSV,逗号分隔值(Comma-Separated Values),即为逗号分隔的文本文件。如果值中含有逗号、换行符、制表符(Tab)、单引号及双引号,则需要用双引号…

    技术杂谈 2023年6月21日
    085
  • Spring事务(一)-事务配置

    事务是数据库操作最基本的单元,是逻辑上的一组操作,这一组操作在同一个会话中要么都执行成功,要么都失败,这也是事务的最基本特性–原子性。事务的作用是为了保证系统数据的正确…

    技术杂谈 2023年7月11日
    0105
  • mvvm框架(VUE、React)中指定列表KEY的作用

    直接上代码 "en"> "UTF-8"> Title "app"> "text" …

    技术杂谈 2023年5月31日
    099
  • SpringBoot-Redis

    SpringBoot 整合 Redis SpringBoot-Redis 15.1 导入相关依赖 org.springframework.boot spring-boot-star…

    技术杂谈 2023年6月21日
    086
  • display和visibility的用法和区别

    大多数人很容易将CSS属性display和visibility混淆,它们看似没有什么不同,其实它们的差别却是很大的。visibility和display两个属性都有隐藏元素的功能。…

    技术杂谈 2023年6月1日
    096
  • Flink之状态编程

    状态编程是Flink最出色的功能没有之一 一、什么是状态? 在流式计算中有些操作一次处理一个独立的事件(比如解析一个事件), 有些操作却需要记住多个事件的信息(比如窗口操作). 那…

    技术杂谈 2023年7月24日
    0118
  • Bresenham直线算法

    Bresenham直线算法 Bresenham概述 根据前一个已知坐标((x_i,y_i))进行增量运算到((x_{i+1},y_{i+1}))主位移方向上每次递增一个单位,另一个…

    技术杂谈 2023年7月10日
    066
  • event点击事件埋点统一代码方便复制粘贴

    组件各个位置的点击次数,需要对type=click 的event的事件进行埋点,系统会校验所有type=click 的 event中的actions,需要保证以下几点,不符合的组件…

    技术杂谈 2023年6月1日
    091
  • ==和equals的区别是什么?

    ==:基本类型比较的是值的大小,引用类型比较的是内存地址,是不是同一个对象,equals:默认比较同一个对象的内容 == 和 equals 的区别是什么? == : 它的作用是判断…

    技术杂谈 2023年7月24日
    079
  • 为指定的XML文件生成类并反序列化

    webservice的那种不说了,vs会自动生成客户端访问的类, 遇到这样一种情况:XML已知,要你处理 读取到DataSet里后发现不成,XML是多级的,根,子节点,子子节点,子…

    技术杂谈 2023年6月1日
    0112
  • Java — 枚举

    枚举是 JDK5 中引入的特性,由 enum 关键字来定义一个枚举类。 格式: enum 枚举类名 { 枚举项1, 枚举项2, …; 成员变量; 构造方法 成员方法 } 说明:…

    技术杂谈 2023年7月11日
    079
  • 树莓派远程连接工具VNC使用教程

    树莓派远程连接工具VNC使用教程 背景故事 树莓派作为一款迷你小主机,大部分的使用场景都会用到远程调试,远程调试用到最多的方式一般就是VNC和SSH,VNC是远程桌面型的远程方式,…

    技术杂谈 2023年7月23日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球