python怎么在图片上写字_python如何实现内容写在图片上
本文实例为大家分享了python将内容写在图片上的具体代码,供大家参考,具体内容如下
# -*- coding: utf-8 -*-
# Created on 2018/3/20
import base64
import random
import os
import sys
import time
from PIL import Image, ImageFont, ImageDraw
reload(sys)
sys.setdefaultencoding('utf8')
BASE_PATH = "E:\\MyWork\\qingwa\\5\\" # 底图所在路径
TMP_PATH = "E:\\MyWork\\qingwa\\5\\tmp\\" # 生成图片缓存路径
font_size = 35
# 216 194 119
class MyCar:
def __init__(self, name):
self.name = name
self.name_append = "的气质适合开"
if not os.path.exists(TMP_PATH):
os.mkdir(TMP_PATH)
self.end_path = TMP_PATH + str(int(time.time())) + str(random.randint(100, 999)) + ".png" # 图片处理完之后保存的文件名
self.data = "" # base64数据初始化
self.pic_handle()
self.base_64()
def base_64(self):
"""
将图片读成base64的格式,返回给移动端渲染
:return:
"""
res = open(self.end_path, 'rb')
base64_data = base64.b64encode(res.read())
res.close()
d = {
'image': 'data:image/jpg;base64,' + base64_data
}
self.data = d
def pic_handle(self):
# 底图路径
img_path = BASE_PATH + str(random.randint(1, 8)) + ".jpg"
# 底图的操作对象
font_img = Image.open(img_path).convert("RGBA")
# 即将在该底图上写字
draw = ImageDraw.Draw(font_img)
# 画笔
name_font = ImageFont.truetype("wryh.TTF", size=35)
# 即将写的字
name = self.name + self.name_append
# 底图的宽高
w, h = font_img.size
# 写在底图上的区域,计算字符串的长度,让它宽度居中(高度居中 同理)
# name_loaction分别指宽高,图片左上角为(0,0)坐标
# 写字,fill为字体颜色,RGB值
# try except 避免字符串编码的问题(unicode编码 再次转换会报错)
try:
name_location = (((w - len(unicode(name, "UTF-8")) * font_size) / 2), 76)
draw.text(name_location, unicode(name, "UTF-8"), fill=(216, 194, 119), font=name_font)
except BaseException as e:
print e.message
name_location = (((w - len(name) * font_size) / 2), 76)
draw.text(name_location, name, fill=(216, 194, 119), font=name_font)
print self.end_path
# 保存处理好的图片
font_img.save(self.end_path)
# 显示图片
font_img.show()
def end_data(self):
return self.data
if __name__ == '__main__':
my_car = MyCar("测试")
return_data = my_car.end_data()
print type(return_data)
效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python怎么在图片上写字_python如何实现内容写在图片上相关推荐
- python 验证码图片 模拟登录_Python 模拟生成动态产生验证码图片的方法
模拟动态产生验证码图片 模拟生成验证码,首先要做的是生成随机的字母,然后对字母进行模糊处理.这里介绍一下 Python 提供的 Pillow 模块. Pillow PIL:Python Image L ...
- python 读取特定一段文本_python提取文本内容 python读取文本每行指定内容
用"python"怎么提取文件里的指定内容?原来这些年,他痊愈的只是外表,有一种伤,它深入骨髓,在人看不见的地方肆虐. python读取文件内容的方法: 一.最方便的方法是一次性读 ...
- python怎么在图片上写字_Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- python怎么在图片上写字_python在图片上写汉字
1.python opencv的putText只能画英文上去 2.借鉴这个https://blog.csdn.net/dcrmg/article/details/79108491 使用pil 首先,你 ...
- python的pillow给图片加文字_python PIL(pillow)图像处理-图片上添加文字
from PIL import Image, ImageDraw, ImageFont def gen_img(size=None): if size is None: size = 400 #生成大 ...
- python怎么在画布上写字_python ImageDraw 添加文字
# 绘制文本 font = ImageFont.truetype("consola.ttf", 40, encoding="unic" ) # 设置字体 dra ...
- python爬取知乎话题_python爬取知乎话题图片
前言 什么是网络爬虫(也叫网络蜘蛛)?简单来说,是一种用来自动浏览万维网程序或脚本(网络爬虫的典型应用就是我们所熟知的搜索引擎).既然如此,那么我们也可以写一个程序,用来自动浏览或者获取网页上的信息. ...
- python地图热力图是什么意思_python实现输入的数据在地图上生成热力图效果
我就废话不多说了,直接贴代码,注意要先安装folium #-*-coding:utf8-*- #输入data生成热力图html,借助了leaflet,没网不能用 import os import fo ...
- python语言编写一个生成九宫格图片的代码_python简单实现9宫格图片实例
在日常生活中我们经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图. 那么我们如何自己动手实现呢? 说到切图Python 就可以实现,主要用到的 Python ...
最新文章
- 变量声明和定义有什么区别
- 将 Smart 构件发布到 Maven 中央仓库
- Matlab之for循环语句
- 大数据驱动线上线下场景融合和零售数字化营销(有福利)
- mysql5.7.25my.ini_mysql5.7 没有my.ini 的解决办法
- php下载apk文件源码下载,php实现文件下载功能的几个代码分享
- 【必懂C++】第一个程序当然是HelloWorld呀 01
- 简单的php探针,php探针程序的推荐
- ubuntu下查看apache的日志
- Lenovo System X3850 X5 服务器管理口IMM被锁定无法登录的故障处理
- mindspore-ResNet101使用GPU进行训练时报错
- 7-1 jmu-python-汇率兑换
- 分布式系统关注点——「负载均衡」到底该如何实施?
- Python爬虫:博客被抄袭了还不知道?快来查查
- python的一些报错解决
- 愚人节巧用CSS开个极客式玩笑以chrome为例
- VSCode彩虹屁:你就是因为想太多如果,所以才交不到girlFriend吧
- 你所不知的X86 CPU微码机制
- 史上最简单的软件破解——5行脚本代码完美破解99%的过期软件
- 盈鹏飞嵌入式_EVB-T335 TF卡功能测试手册
热门文章
- jQuery整理笔记七----几个经典表单应用 .
- 实现多模交互融合的四个阶段
- Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification
- R使用Z分数和四分位数区间法去除异常值(outlier)
- 云师大计算机调剂,云南师范大学调剂公告
- python实现单机斗地主手机版下载_单机斗地主手机版下载免费版乐
- 机器学习—聚类(一)(L—P范数/闽可夫斯基距离/马氏距离/相关系数/夹角余弦)
- Mysql学习之优化篇
- 跨考西电计算机科学与技术研究生经验贴,西安交通大学912计算机133分经验分享...
- 微博点赞数等信息和公众号点赞数等信息爬取