python pillow
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的更多相关文章
- python Pillow 图片处理模块,好强大有没有
python Pillow 图片处理模块,好强大有没有 Pillow 需要给 python 另外安装 第一个用法:https://www.cnblogs.com/ibingshan/p/1105739 ...
- [ller必读] LoveLive! 必备技能之 Python Pillow 自动处理截图
起因 喜欢的歌,静静地听:喜欢的人,远远的看.30天前,就是3月14号,我情不自禁地走近了<LoveLive!学院偶像祭>,这是我的第一张卡片(见下图).第二天也就是3月15日,海未生日了 ...
- python pillow模块用法
pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...
- Python pillow库安装报错
报错信息: D:\pythontest\duanxinhongzha>pip3 install pillowCollecting pillow Could not find a version ...
- Python pillow库
由于pillow库功能很强大本文章主要介绍pillow的Image模块 关于Pillow与PIL PIL(Python Imaging Library)是Python一个强大方便的图像处理库,名气也比 ...
- 基于Python Pillow库生成随机验证码
from PIL import Image from PIL import ImageDraw from PIL import ImageFont import random class ValidC ...
- python pillow 处理图片
demo1 #打开图片,并随机添加一些椒盐噪声 from PIL import Image import numpy as np import matplotlib.pyplot as plt img ...
- python pillow 绘制图片
demo1 #coding=utf- from PIL import Image img = Image.,))###创建一个5*5的图片 pixTuple = (,,,)###三个参数依次为R,G, ...
- 使用python拼接多张图片.二三事
前几日在博客上看到一篇“使用python拼接多张图片”的Blog[具体是能将的图片名字必须是形如xx_1.png ... xx_100.png或者xx_001.png ... xx_100.png,拼 ...
随机推荐
- Blender 使用
教程: 1.https://www.youtube.com/watch?v=N8-mE-165b8&index=7&list=PLE885296A496C3D38 快捷键: http: ...
- git bash 命名
git log -p -2 我们常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新. git diff HEAD git clean -df 恢复到最后一次提交的改动: gi ...
- kafka读书笔记《kafka权威指南》2018
1.有了分区,可以多个client消费一个topic,有了分区,可以将一个topic 分散在多个broker 2.kafka通过复制实现可靠,通过横向扩展提高性能(如增加分区.客户端.增加broker ...
- 动态SQL详解
动态SQL 在之前用户所编写的PL/SQL程序时有一个最大的特点:就是所操作的数据库对象(例如:表)必须存在,否则创建的子程序就会出问题,而这样的操作在开发之中被称为静态SQL操作,而动态SQL操作可 ...
- html 标签笔记
<一.HTML 基础结构> <html>________________________________<head><title>无标题文档</t ...
- 20165336 实验二 Java面向对象程序设计
20165336 实验二 Java面向对象程序设计 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:康志强 学号:20165336 指导教师:娄嘉鹏 实验日期:2018年4月16日 ...
- 获取文件后缀名(zip,rar等)
var filename = file.name; var index1 = filename.lastIndexOf("."); var index2 = filename.le ...
- 【雅思】【写作】【大作文】Report
•Report •主要分类 •两个问题 • •1. 原因,解决办法 • •2. 原因,积极还是消极 • •3. Freestyle •报告型 •In cities and towns all over ...
- nodejs, vue, webpack 项目实践
vue 及 webpack,均不需要与nodejs一期使用,他们都可以单独使用到任何语言的框架中. http://jiongks.name/blog/just-vue/ https://cn.vuej ...
- 1A
#include <iostream> using namespace std; int main() { long long n, m, a, r, c; cin>>n> ...