https://www.cnblogs.com/morethink/p/8419151.html#%E7%9B%B4%E6%8E%A5%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F

https://www.cnblogs.com/brookshi/p/8414881.html

https://www.cnblogs.com/zhouyubo/p/8412840.html

https://www.cnblogs.com/cr330326/p/8419899.html

https://www.cnblogs.com/xybaby/p/8403461.html

http://www.cnblogs.com/xybaby/p/7954610.html

http://www.cnblogs.com/xybaby/p/6406191.html

http://www.cnblogs.com/xybaby/p/6343285.html

https://www.cnblogs.com/liuyun1995/p/8416340.html

https://www.cnblogs.com/AdaminXie/p/8379749.html

https://www.cnblogs.com/JJJ1990/p/8384386.html

https://www.cnblogs.com/zhenlingcn/p/8386214.html

http://www.cnblogs.com/zhenlingcn/p/8337788.html

TutorialDemo001.py

# coding: utf-8

from PIL import Image
import os, sys Int_Len = 5 def getPicInfo(pic):
im = Image.open(pic)
print("--------------------")
print("file name:\t" + im.filename)
print("format:\t\t" + im.format)
print("size:\t\t" + str(im.size))
print("mode:\t\t" + im.mode)
return im def convertFormat(pic, format):
pathNew = getNewFormatPath(pic, format)
try:
im = Image.open(pic)
im.save(pathNew, format)
getPicInfo(pathNew)
return pathNew
except IOError:
print("Cannot create new Format %s for %s." % format, pic)
return None def convertThumbnails(pic, rate=1, format='JPEG'):
pathNew = getThumbnailsPath(pic, r"thumbnails", format)
if (pic != pathNew):
try:
im = Image.open(pic)
size = (int(im.size[0] * rate), int(im.size[1] * rate))
im.thumbnail(size)
im.save(pathNew, format)
getPicInfo(pathNew)
return pathNew
except IOError:
print("Cannot create thumbnail for ", pic)
return None def getNewFormatPath(pic, format):
pathSegs = os.path.splitext(pic)
count = 1
while True:
pathNew = pathSegs[0] + r"-" + str(count).zfill(Int_Len) + "." + format.lower()
if os.path.exists(pathNew):
count += 1
pathNew = pathSegs[0] + r"-" + str(count).zfill(Int_Len) + "." + format.lower()
else:
return pathNew def getThumbnailsPath(pic, suffix, format):
pathSegs = os.path.splitext(pic)
count = 1
while True:
pathNew = pathSegs[0] + r"-" + str(count).zfill(Int_Len) + r"-" + suffix + "." + format.lower()
if os.path.exists(pathNew):
count += 1
pathNew = pathSegs[0] + r"-" + str(count).zfill(Int_Len) + r"-" + suffix + "." + format.lower()
else:
return pathNew if __name__ == "__main__":
pic1 = r"res/MIT-001.jpg"
pic2 = r"res/MIT-002.jpg" # im = getPicInfo(pic1)
# r,g,b = im.split()
# r.rotate(45).show()
# g.resize((100,200)).show()
# b.show()
# im.convert("L").convert("RGB").show() # convertThumbnails(pic1, 0.5) path = convertFormat(pic1, 'PNG')
print(os.path.abspath(path))

  

python pillow的更多相关文章

  1. python Pillow 图片处理模块,好强大有没有

    python Pillow 图片处理模块,好强大有没有 Pillow 需要给 python 另外安装 第一个用法:https://www.cnblogs.com/ibingshan/p/1105739 ...

  2. [ller必读] LoveLive! 必备技能之 Python Pillow 自动处理截图

    起因 喜欢的歌,静静地听:喜欢的人,远远的看.30天前,就是3月14号,我情不自禁地走近了<LoveLive!学院偶像祭>,这是我的第一张卡片(见下图).第二天也就是3月15日,海未生日了 ...

  3. python pillow模块用法

    pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...

  4. Python pillow库安装报错

    报错信息: D:\pythontest\duanxinhongzha>pip3 install pillowCollecting pillow Could not find a version ...

  5. Python pillow库

    由于pillow库功能很强大本文章主要介绍pillow的Image模块 关于Pillow与PIL PIL(Python Imaging Library)是Python一个强大方便的图像处理库,名气也比 ...

  6. 基于Python Pillow库生成随机验证码

    from PIL import Image from PIL import ImageDraw from PIL import ImageFont import random class ValidC ...

  7. python pillow 处理图片

    demo1 #打开图片,并随机添加一些椒盐噪声 from PIL import Image import numpy as np import matplotlib.pyplot as plt img ...

  8. python pillow 绘制图片

    demo1 #coding=utf- from PIL import Image img = Image.,))###创建一个5*5的图片 pixTuple = (,,,)###三个参数依次为R,G, ...

  9. 使用python拼接多张图片.二三事

    前几日在博客上看到一篇“使用python拼接多张图片”的Blog[具体是能将的图片名字必须是形如xx_1.png ... xx_100.png或者xx_001.png ... xx_100.png,拼 ...

随机推荐

  1. [https][ssl] keyless SSL

    HTTP Server 集群前的负载设备,或内容审计设备等,在处理https的时候,需要用户配置提供证书. 但是考虑到安全问题,HTTP Server并不愿意把证书配置到其他设备上. 这个时候,就有个 ...

  2. MySQL5.7免安装版配置详细教程

    MySQL5.7免安装版配置详细教程 一. 软件下载 Mysql是一个比较流行且很好用的一款数据库软件,如下记录了我学习总结的mysql免安装版的配置经验,要安装的朋友可以当做参考哦 mysql5.7 ...

  3. Python开发【模块】:aiohttp(二)

    AIOHTTP 1.文件上传 ① 单个文件上传 服务端 async def post(self, request): reader = await request.multipart() # /!\ ...

  4. 用canvas把页面中所有元素的轮廓绘制出来

    function plot(){//绘制函数 // 创建一个canvas画布 const canvas=document.createElement("canvas"); canv ...

  5. CF1103D Professional layer dp

    正解:dp 解题报告: 传送门! 首先不难想到求个gcd,然后把gcd质因数分解成p1w1*p2w2*p3w3*...*pmwm 显然只要满足对每个p有一个ai%pj!=0就好,也就是说对每个pj找出 ...

  6. 关于linux特殊含义的转义符\033

    格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033 ...

  7. java public,default,protected,private区别

    温习一下:https://www.cnblogs.com/ldq2016/p/6872420.html

  8. django基础-01:软件框架,MVC框架,MVT

    1. 软件框架 一个公司是由公司中的各部部门来组成的,每一个部门拥有特定的职能,部门与部门之间通过相互的配合来完成让公司运转起来. 一个软件框架是由其中各个软件模块组成的,每一个模块都有特定的功能,模 ...

  9. 配置SQL Server 2016无域AlwaysOn(转)

    Windows Server 2016 以及 SQL Server 2016出来已有一段时间了,因为Windows Server 2016可以配置无域的Windows群集,因此也能够以此来配置无域的S ...

  10. Python3学习之路~5.4 os模块

    用于提供系统级别的操作 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shel ...