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 ...
随机推荐
- 【面试问题】mybatis 与 Hibernate的不同
Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句.mybatis可以通过XML或注解方式灵活配置要运行的sql语句,并将java对象和s ...
- Bytom移动端钱包SDK开发基础
比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom Byto ...
- java.lang.OutOfMemoryError:GC overhead limit exceeded
在调测程序时报java.lang.OutOfMemoryError:GC overhead limit exceeded 错误 错误原因:在用程序进行数据切割时报了该错误.由于在本地执行数据切割测试的 ...
- linux golang
wget -c http://www.golangtc.com/static/go/go1.3.linux-386.tar.gz #下载32位Linux的够源码包 tar -zxvf go1.1.li ...
- 【Selenium2】【Shell】
E:\test_object>Python all_test.py >> report/log.txt 2>&1
- SpringBoot整合+logback日志配置
本次演示的代码结构如下,基于maven,整合SpringBoot.Spring.Mybaits的SSM框架.同时测试logback日志框架的使用及配置. 1.创建maven工程,修改pom.xml文件 ...
- 从DFS到记忆化DFS到动态规划
什么是动态规划? 动态规划(Dynamic Programming)是通过组合子问题的解来解决问题的.动态规划是用于求解包含重叠子问题的最优化问题的方法.其基本思想是,将原问题分解为相似的子问题.在求 ...
- STL_string.vector中find到的iterator的序号
ZC:注意,printf("0x%08X\n",vtr.end()); 打印出来 应该就是 0x00000000,∵ 它就是 指向最后一个元素的后面,应该是理解成 无意义 ...
- Swing使用Substance外观包异常问题
问题一: 今天更新我的Java版QQ,在网上找到了Substance外观包,效果不错,直接用了,可是设置水印问题时就出现问题,网上有现成的例子 JFrame.setDefaultLookAndFeel ...
- 全排列问题(c语言实现)
问题描述: 假设有数组里面存放26个字母,取出n个,以m个排列,计算排列的总数! 注意: (1) m<n (2) 里面的元素不能重复排列 (3)"遇零则止" 核心代码如下: ...