python 对图片进行简单的处理


Posted in Python onJune 23, 2021
目录
  • 安装Pillow包
  • 图片划线
  • 图片写字
  • 图片加图片水印
  • 图片模糊
  • 图片截取
  • 总结

 

安装Pillow包

pip install Pillow

 

图片划线

from PIL import Image, ImageDraw
im = Image.open("blur.jpg")
draw = ImageDraw.Draw(im)
draw.line((0, 0) + im.size, fill=128)
draw.line((0, im.size[1], im.size[0], 0), fill=128)
del draw
# write to stdout
im.save("blur.jpg", "PNG")

 

图片写字

有的时候我们可能需要往图片上写一些文字,比如说水印什么的,只要选择好我们本地的字体文件,直接就可以在图片上写字了

from PIL import ImageFont, ImageDraw,Image, ImageDraw
image = Image.open("image.png").convert('RGBA')
txt=Image.new('RGBA', image.size, (0,0,0,0))
font=ImageFont.truetype("c:/Windows/fonts/Tahoma.ttf", 20)
draw=ImageDraw.Draw(txt)
draw.text((txt.size[0]-100, txt.size[1]-30), "linshiyingdi", font=font)
out=Image.alpha_composite(image, txt)
out.save("imageWithText.png", "png")
out.show()

 

图片加图片水印

文字水印有时候不好看,想改成图片水印,也是可以的

from PIL import ImageFont, ImageDraw, Image, ImageDraw

image = Image.open("image.png")
logo = Image.open("logo.png")
layer = Image.new('RGBA', image.size, (0, 0, 0, 0))
layer.paste(logo, (50, 60))
out = Image.composite(layer, image, layer)
out.save("imageWithLogo.png", "png")
out.show()

如果水印图片过大时,可以直接缩小点,直接使用图片自带的thumbnail方法就行

from PIL import ImageFont, ImageDraw, Image, ImageDraw

image = Image.open("image.png")
logo = Image.open("logo.png")
logo.thumbnail((200, 100))
layer = Image.new('RGBA', image.size, (0, 0, 0, 0))
layer.paste(logo, (50, 60))
out = Image.composite(layer, image, layer)
out.save("imageWithLogo.png", "png")
out.show()

如下图,我们的水印图片放到了左上角,大小也非常合适。

python 对图片进行简单的处理

 

图片模糊

from PIL import Image, ImageFilter
# 打开一个jpg图像文件,直接放到当前路径下方便点:
im = Image.open('2822.jpg')
# 应用模糊滤镜:
im2 = im.filter(ImageFilter.BLUR)
im2.save('blur.jpg', 'jpeg')

 

图片截取

from PIL import Image
img = Image.open("image.png")
print(img.size)
cropped = img.crop((0, 0, 1303, 734))  # (left, upper, right, lower)
cropped.save("imageCropped.png")

可以看到的是如果这个图片的长度和宽度比1303和734小的时候会有透明的填充,感觉很难看,可以将对应的长度和宽度和这两个数字做个判断

from PIL import Image

img = Image.open("image.png")
print(img.size)
right = 1303
lower = 734
if img.size[0] < 1303:
    right = img.size[0]
if img.size[1] < 734:
    lower = img.size[1]
cropped = img.crop((0, 0, right, lower))  # (left, upper, right, lower)
cropped.save("imageCropped.png")

这样白边就被干掉了

 

总结

人生苦短,我用 Python,在强大的Pillow帮助下,我们只需几行代码就可以实现图片的各种处理。

以上就是python 对图片进行简单的处理的详细内容,更多关于python 图片处理的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python ljust rjust center输出
Sep 06 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
python去掉空白行的多种实现代码
Mar 19 Python
python处理multipart/form-data的请求方法
Dec 26 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 Python
通过python3实现投票功能代码实例
Sep 26 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
python如何获取网络数据
Apr 11 Python
python爬虫框架feapde的使用简介
Apr 20 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
浅析Python中的套接字编程
Python中使用ipython的详细教程
详解Python类和对象内容
python析构函数用法及注意事项
Jun 22 #Python
Python自动化测试PO模型封装过程详解
python中的class_static的@classmethod的巧妙用法
Jun 22 #Python
You might like
新版PHP将向Java靠拢
2006/10/09 PHP
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
php使用websocket示例详解
2014/03/12 PHP
php获取图片信息的方法详解
2015/12/10 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
laravel 实现设置时区的简单方法
2019/10/10 PHP
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
jquery中ajax学习笔记3
2011/10/16 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python中dict和set的用法讲解
2019/03/28 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
文艺演出主持词
2015/07/01 职场文书
如何理解及使用Python闭包
2021/06/01 Python
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android