Python PIL模块笔记
利用python pil 实现给图片上添加文字
图片中添加文字
#-*- coding: utf-8 -*-
from PIL import Image,ImageDraw,ImageFont
ttfont = ImageFont.truetype("D:\Python目录\msyh.ttc",20) #//这里我之前使用Arial.ttf时不能打出中文,用华文细黑就可以
im = Image.open("D:\客户程序\\1.jpg")
draw = ImageDraw.Draw(im)
draw.text((10,10),u'韩寒', fill=(0,0,0),font=ttfont)
draw.text((40,40),u'杨利伟', fill=(0,0,0),font=ttfont)
im.show()
text=u'杨利伟'
Font = ImageFont.truetype("D:\Python目录\msyh.ttc",20)
Font.getsize(text)
>>>(60, 25)
Python用Pillow(PIL)进行简单的图像操作
用Python来合并图片(SoEasy)
python PIL合并半透明的png图片
转换通道
https://blog.csdn.net/icamera0/article/details/50843172
重新设置图片大小
a=font_background.resize((10,10),Image.ANTIALIAS)
半成品
#-*- coding: utf-8 -*-
from PIL import Image,ImageDraw,ImageFont
字号=30
字体="C:\Windows\Fonts\simkai.ttf"
文字和背景向上偏移=300
单独文字上下偏移=0
文字左右偏移=0
黑背景左右偏移=0
文字颜色=(255,255,255)
水印文字='小哈nizaig你在干嘛'.replace(' ','')
方背景宽度增加=-int(字号/1.3) ttfont = ImageFont.truetype(字体,字号)#字体,和字体大小
im = Image.open("D:\客户程序\\1.jpg")#要加文字的图
im=im.convert('RGBA')
draw = ImageDraw.Draw(im,mode='RGBA')
font_background=Image.open("D:\Python目录\方.png")#水印背景圆角图
round=Image.open("D:\Python目录\圆.png")
font=u'%s'%水印文字 im_size=im.size#原图大小
font_size=ttfont.getsize(font)#文字尺寸
font_background_a=font_background.resize((font_size[0]+方背景宽度增加,font_size[1]),Image.ANTIALIAS)#方背景大小尺寸
round_W_H=round.resize((font_size[1],font_size[1]),Image.ANTIALIAS)#圆的大小 pos_ads_img=(int(im_size[0]/2-font_background_a.size[0]/2+黑背景左右偏移),文字和背景向上偏移)#方图片位置 round_ads_left=(int(pos_ads_img[0]-round_W_H.size[0]/2),pos_ads_img[1])#圆图1的位置
font_ads=(int(im_size[0]/2-font_size[0]/2+文字左右偏移),文字和背景向上偏移+单独文字上下偏移)
round_ads_right=(int(pos_ads_img[0]+font_background_a.size[0]-round_W_H.size[0]/2),pos_ads_img[1]) im.paste(round_W_H,round_ads_left,mask=round_W_H)#圆背景摆放位置
im.paste(round_W_H,round_ads_right,mask=round_W_H)#圆背景摆放位置 im.paste(font_background_a,pos_ads_img)#方形摆放位置
draw.text(font_ads,font, fill=(文字颜色),font=ttfont)#文字摆放位置,文字,颜色
im.show()
Python PIL模块笔记的更多相关文章
- python日志模块笔记
前言 在应用中记录日志是程序开发的重要一环,也是调试的重要工具.但却很容易让人忽略.之前用flask写的一个服务就因为没有处理好日志的问题导致线上的错误难以察觉,修复错误的定位也很困难.最近恰好有时间 ...
- python PIL模块学习
PIL PIL:Python Imaging Library.对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础. PIL安装 安装推荐别人的吧, ...
- python系统性能模块笔记
内存信息psutil.cpu_times() 使用cpu_times方法获取cpu完整信息,需要显示所有逻辑cpu信息(指定变量percpu=True)psutil.cpu_ti ...
- centos 安装python PIL模块
转载:https://www.cnblogs.com/ccdc/p/4069112.html 1.安装 使用yum安装缺少类库: #尤其重要,否则会报错 yum install python-deve ...
- python logging模块笔记
1 ) 给logger定制了两个日志级别INFO和DEBUG,分别通过filehandler添加不同输出到不同文件,但如何让DEBUG里只有DEBUG的信息? 答案:可重写DEBUG对应的Fileha ...
- Python标准库笔记(11) — Operator模块
Operator--标准功能性操作符接口. 代码中使用迭代器时,有时必须要为一个简单表达式创建函数.有些情况这些函数可以用一个lambda函数实现,但是对于某些操作,根本没必要去写一个新的函数.因此o ...
- Python标准库笔记(10) — itertools模块
itertools 用于更高效地创建迭代器的函数工具. itertools 提供的功能受Clojure,Haskell,APL和SML等函数式编程语言的类似功能的启发.它们的目的是快速有效地使用内存, ...
- Python标准库笔记(9) — functools模块
functools 作用于函数的函数 functools 模块提供用于调整或扩展函数和其他可调用对象的工具,而无需完全重写它们. 装饰器 partial 类是 functools 模块提供的主要工具, ...
- Python标准库笔记(8) — pprint模块
struct模块提供了用于在字节字符串和Python原生数据类型之间转换函数,比如数字和字符串. Python版本: 2.x & 3.x 该模块作用是完成Python数值和C语言结构体的Pyt ...
随机推荐
- oracle单行函数 之 数字函数
Round(数字 \ 列 [,保留小数的位数]):四舍五入 select Round(1234.45,1) from dual = 1234.5 Trunc(数字 \ 列 [,保留小数的位数] ...
- Docker7之Docker overview
Docker is an open platform for developing, shipping, and running applications. Docker enables you to ...
- Python数据类型补充1
一.可变和不可变类型 可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型 不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变 # x= ...
- 转 Failed to run the WC DB work queue associated with 错误的解决
svn 异常终止导致的缓存工作队列问题 解决方法:清空svn的队列 1.下载sqlite3.exe 2.找到你项目的.svn文件,查看是否存在wc.db 3.将sqlite3.exe放到.svn的同级 ...
- [Python]IO密集型任务 VS 计算密集型任务
所谓IO密集型任务,是指磁盘IO.网络IO占主要的任务,计算量很小.比如请求网页.读写文件等.当然我们在Python中可以利用sleep达到IO密集型任务的目的. 所谓计算密集型任务,是指CPU计算占 ...
- python 拷贝文件
使用绝对目录: import os import shutil shutil.copyfile("/opt/test/update.tar.gz","/opt/updat ...
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
- System.arraycopy和arrays.copyOf
public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); 这 ...
- ASP.net 网站开发知识点总结
一.常用技术概括及介绍 1. SQL server:处理数据库的设计 2. asp.net 3. html :前端网页 4. css :网页的布局设计 5. JavaScrip ...
- .NET Core 管道
从用户发请求到服务器响应返回数据 请求从 Request进去 先经过 Middleware(中间件) 然后经过AuthoriationFilters授权验证(token验证和 多租户验证) 在经 ...