python,让文字变成图片

小白:让文字变成图片?很简单啊,先在微信上打几个字,再截图,就是图片啦!

西门吹雪:但是这种方式,你不能预先设置字体的属性,以及图片的背景颜色等。

本文介绍一种简单的办法,让输入的文字显示到一张图片中,并且可以对字体与颜色进行设置。

为了简便地实现,这里使用python来处理,并且结合mac系统上的alfred来使用。

小白:alfred?

西门吹雪:mac系统上的神奇武器,你值得拥有!

小白:倚天剑?

先演示一下,使用的效果:

有两个程序要写。

一个是创建图片,设置图片的背景颜色与字体的颜色,再把输入的内容写到图片。

另一个程序,打开图片,把文字显示出来。

马上开工,先是创建文字图片:

# -*- coding: utf-8 -*-
from PIL import Image,ImageDraw,ImageFont
from bs4 import BeautifulSoup
import sys

g_temppng=‘tempclip.png‘

def cal_text_length(text):
    en_text_length=13
    zh_text_length=18
    zh_text_size=3
    offset=8
    if BeautifulSoup(text).originalEncoding==‘utf-8‘:
        w=zh_text_length*text.__len__()/zh_text_size+offset
    else:
        w=en_text_length*text.__len__()
    return w 

def generate_image(text,background_color,fill_color):
    height=128
    font_size=18
    w=cal_text_length(text)
    width=w+50
    img=Image.new(‘RGB‘,(width,height),background_color)
    draw=ImageDraw.Draw(img)
    text_to_draw=unicode(text,‘utf-8‘)
    font = ImageFont.truetype(‘/Library/Fonts/华文黑体.ttf‘, font_size)
    draw.text(((width - w) / 2, (height - font_size) / 2), text_to_draw, font=font, fill=fill_color)
    del draw
    img.save(g_temppng)

if __name__ == ‘__main__‘:
    text="no input"
    if len(sys.argv)>1:
        text=sys.argv[1]
    generate_image(text,‘#000000‘,‘#ffffff‘)

然后是打开图片:

# -*- coding: utf-8 -*-
from PIL import Image

g_temppng=‘tempclip.png‘
if __name__ == ‘__main__‘:
    img=Image.open(g_temppng)
    img.show()

最后,为了能快速运行这两个程序,这里借且alfred来实现,写两个workflow,如下:


workflow的目录结构:

然后就可以快速输入关键字(ti),再输入图片文字了,比如:

再快速输入关键字(io),打开图片,比如(敲入io后):

小白:这么简单啊!

西门吹雪:这个演示是简单的,但是这种用phthon写代码,再用框架快速执行的思路,却是很有用的思路,很多有用的事情都可以做到,比如拷贝文件、查看天气、爬取电影、英文翻译、发送邮件、查md5、看网页,自动化,等等...

小白:爬取电影?



python,让文字变成图片

原文地址:http://blog.51cto.com/13136504/2060243

时间: 2024-09-30 23:55:33

python,让文字变成图片的相关文章

python将文字转换成图片

现在又很多工具能将文字转换成图片,这样就可以发送长微博,其实python实现这很容易的,主要就是用到了pygame模块 import os import pygame from pygame.locals import * pygame.init() text = u"这是一段测试文本,test 123." font = pygame.font.SysFont('SimHei', 14) ftext = font.render(text, True, (0, 0, 0), (255,

python生成验证码,文字转换为图片

在58或者赶集等一些网站上经常看到手机号是图片格式,或者一些网站的验证码.这些都是动态生成的,今天我们来看一下如何用python把文字生成图片.其实今天主要借助pygame的图像渲染模块,这样比较简单,顺便帮大家复习下pygame这个游戏框架.好啦,直接上代码吧. 环境:python2.7,装有python3的同学也可以测试一下 #coding: UTF-8 #载入必要的模块 import os import pygame from pygame.locals import * #pygame初

Python简单的制作图片验证码

-人人可以学Python--这里示范的验证码都是简单的,你也可以把字符扭曲 人人可以学Python.png Python第三方库无比强大,PIL 是python的一个d第三方图片处理模块,我们也可以使用它来生成图片验证码PIL安装命令安装: pip install pillow 下载源码安装:复制地址 :https://github.com/python-pillow/Pillow PIL使用 例子:生成图片,并填充文字 #!/usr/bin/python #-*-coding:utf-8-*-

爬虫学习 08.Python网络爬虫之图片懒加载技术、selenium和PhantomJS

爬虫学习 08.Python网络爬虫之图片懒加载技术.selenium和PhantomJS 引入 今日概要 图片懒加载 selenium phantomJs 谷歌无头浏览器 知识点回顾 验证码处理流程 今日详情 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import

怎么编辑PDF里的文字与图片

总是有很多人一直在网上提问:PDF文件怎么修改文字.PDF文件如何编辑图片等问题.之所以不能编辑,那是因为大家一直都习惯于用PDF阅读器来打开PDF文件,而它并没有编辑PDF文件的权限.想要编辑PDF文件,还得用拥有编辑权限的PDF编辑器.下面跟着小编一起来看下PDF编辑器怎么编辑PDF里的文字与图片.       准备工作:电脑中下载一款叫做迅捷PDF编辑器的工具,下载后将其安装在电脑中,单击"立即体验"即可进入软件中心. 打开文件:单击软件左上方的"打开"按钮,

文字转图片APP,Android版本(长微博手机版)超越长微博

文字转图片,目前支持自定义生成图片尺寸(默认为手机宽度*自适应高度),支持字体大小,颜色,背景色,背景图,字体,行间距设置,以及自定义水印.并且增加了二维码功能和文件导入生成功能,其中二维码功能用于文字生成二维码后,使用文字转图片二维码扫描后,会立即生成对应的文字图片,支持加密!自定义密钥等功能,后期的创新功能陆续开发中! 开发者:谭东. 顶尖文字转图片技术!更多功能开发中 下载地址:http://pan.baidu.com/s/1qWHIPru 联系QQ :85204173 下载地址:http

给你一个输入框,可存文字,图片,视频,书写测试用例

1.给你一个输入框,可存文字,图片,视频,书写测试用例 等价类.边界值.猜测法 1.1.1 文本框的测试 如何对文本框进行测试 a,输入正常的字母或数字. b,输入已存在的文件的名称: c,输入超长字符.例如在"名称"框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入256个字符,检查程序能否正确处理: d,输入默认值,空白,空格: e,若只允许输入字母,尝试输入数字:反之:尝试输入字母: f,利用复制,粘贴等操作强制输入程序不允许的输入数据: g,输入集,例如,NUL及\

iOS Quartz2D绘制线、矩形、弧、圆、文字、图片

利用Quartz2D中提供的图层上下文 Layer Graphics Context,进行简单绘制线.矩形.弧.圆.文字.图片 在storyBoard中得拖入控制器,添加多个UIView控件,并把各个UIView的class修改为自定义的类. 如: 绘制线: // // HJLineView.m // 画线三角矩形圆 // // Created by HJiang on 15/1/2. // Copyright (c) 2015年 HJiang. All rights reserved. //

Python实战:美女图片下载器,海量图片任你下载

Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本文是在前一部分Python基础之上Python实战:Python爬虫学习教程,获取电影排行榜,再次升级的Python网页爬虫实战课程. 1.项目概述. 利用XPath和requests模块进行网页抓取与分析,达到网页图片下载的效果. 抓爬图片地址:http://www.2c