Image主要是打开图片后,对图片进行编辑,主要有以下一些常用功能:

1、读取并显示图片:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.show()

2、显示图片大小:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.size)

3、把图片旋转40度并显示:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.rotate.show()

4、显示图片名称(包含路径):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.filename)

5、图片缩小一倍(大概是这么算法):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.thumbnail((img.size[0]/2,img.size[1]/2))

6、图片的像素点的缩放:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img_new = Image.eval(img,lambda x:x*2)
img_new.show()

7、图片合成或融合:

from PIL import Image

#img1和img2大小要一样,并且其一为透明的,否则只能看到一个图片
PIL.image.alpha_composite(img1,img2)
#alpha表示透明度
PIL.image.blend(im1,im2,alpha)
PIL.Image.composite(im1,im2,mask)

8、创建并保存图片:

from PIL import Image

#使用RGB模式创建一个黑色的图形(还有L和RGBA模式)
img = Image.new('RGB',(x,y),(0,0,0))
#L模式创建图形
img = Image.new('L',(x,y),255)
#RGBA模式创建图形
img = Image.new('RGBA',(x,y),(0,0,0,255))
img.show()
img.save('img.png')
#查看模式
print(img.mode)

9、将图片黑化(灰化):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.convert("L").show()

10、图片的复制:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
#这里也可以直接赋值
#img1 = img
img1 = img.copy()
img1.show()

11、获取对应坐标的像素:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.getpixel(x,y))

12、粘贴一个图片到另外一个图片上:

from PIL import Image

#俩个图片的mode要一致,不一致可以用convert转换
img1 = Image.open("H:\\salary.png",'r')
img2 = Image.open("H:\\pig.png",'r')
img1.paste(img2,(50,15))
img1.show()

13、在给定图片上划直线:

from PIL import Image
from PIL import ImageDraw img = Image.open("H:\\salary.png",'r')
draw = ImageDraw.Draw(img)
#传入俩个元祖参数,第一个是直线的俩端点坐标,另外一个是RGB
draw.line((22,43,99,11),(150,150,150))
img.show()

14、在给定图片上写文字:

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont img = Image.open("H:\\salary.png",'r')
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('segoeuib.ttf',20)
#传入4个参数:文字开始坐标,文字,颜色以及字体(字体可以不传入,使用默认字体)
draw.text((50,60),'Hello,world',(140,255,166),font = font)
img1.show()

python之PIL模块基础功能的更多相关文章

  1. 使用Python的PIL模块来进行图片对比

    使用Python的PIL模块来进行图片对比 在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死, ...

  2. Python使用PIL模块生成随机验证码

    PIL模块的安装 pip3 install pillow 生成随机验证码图片 import random from PIL import Image, ImageDraw, ImageFont fro ...

  3. Python学习之模块基础

    模块就是程序 编写以下简单代码 print('hello python') 并将py文件保存在c盘的python(假设新建)文件下,通过pycharm的Terminal 或者windom命令窗口调出p ...

  4. python中PIL模块

    Image模块 Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内.如open.save.conver.show-等功能. open类 Image ...

  5. 【Python】PIL模块

    Python自建库,在爬虫等基础应用中更加简单好记,做整理以备自查. 目录 Image模块 open类.Save类.format类.Mode类.convert类.Size类.Info类.new类.Co ...

  6. python的PIL模块安装

    一.Centos安装PIL #尤其重要,否则会报错 yum install python-devel yum install libjpeg libjpeg-devel zlib zlib-devel ...

  7. Python之request模块-基础用法

    Request模块参考中文手册:https://requests.readthedocs.io/zh_CN/latest/ Request模块 1.查看pip已装包(模块)的安装信息(模块的路径.版本 ...

  8. python中time模块常用功能

    import time time模块提供了大量对时间进行处理的方法 time.time() # 获取当前时间戳,得到自1970年开始的秒数 >>>time.time() 155487 ...

  9. Python数据分析 Pandas模块 基础数据结构与简介(一)

    pandas 入门 简介 pandas 组成 = 数据面板 + 数据分析工具 poandas 把数组分为3类 一维矩阵:Series 把ndarray强大在可以存储任意数据类型可以专门处理时间数据 二 ...

随机推荐

  1. 针对piix4_smbus ****host smbus controller not enabled的解决方法

    SMBus 目录 SMBus与I2C的差别 SMBus 是 System Management Bus 的缩写,是1995年由Intel提出的,应用于移动PC和桌面PC系统中的低速率通讯.它主要是希望 ...

  2. mysql学习笔记--数据完整性

    一.数据完整性包括: 1. 域完整性 2. 实体完整性 3. 引用完整性 二.保证实体完整性 1. 主键约束 2. 唯一约束 3. 自动增长列 三.保证域完整性 1. 数据类型约束 2. 非空约束 3 ...

  3. 手机连得上WIFI,电脑连不上的情况

    可以搜到,密码也对,但就是连不上,这时候可能就是你的设置错了. 操作步骤以下: 右击我的电脑-->管理-->设备管理器-->网络适配器-->找到你wifi对应的那个名称(如果不 ...

  4. [leetcode]14. Longest Common Prefix 最长公共前缀

    Write a function to find the longest common prefix string amongst an array of strings. If there is n ...

  5. Windows下PythonQt3.2使用pandas.pivot_table

     本机环境 1.win7 64 旗舰版 2.Qt 5.9.1(MSVC 2015,32 bit) 3.Python 3.7.1 (32-bit),二进制包安装的,即Windows x86 execut ...

  6. hugepage优势

    hugepage的优势与使用 +2投票   优势 通过使用hugepage分配可以提高性能,因为需要更少的页,因此需要更少Translation Lookaside Buffers (TLB,高速传送 ...

  7. java特殊字符分隔符

    点,string.split("[.]") . 竖线, string.split("\\|"). 星号, string.split("\\*" ...

  8. django学习install apps注册错了的影响

    今天在学习例子的时候 不注意吧settings.py里面的INSTALL APPS  的APP应用名称写错了 应该是blog 写成了myblog 结果导致python manage.py makemi ...

  9. java的poi 读取exc 文件

    package lizikj.bigwheel.shop.util.excel; import java.io.File; import java.io.FileInputStream; import ...

  10. kei下无法跳转到函数的定义处

    1 勾选“option for target”----“output”----"Browse information" 2 重新编译整个工程, 执行上面两个步骤就可以跳转了.