一、背景

平时工作中经常需要使用各种尺寸、格式的图片来做测试,每次从百度或者谷歌找图都非常麻烦,于是就想作为一个程序员怎么能被这个问题影响效率呢,一切程序可以做的事情都应该用程勋来做并提升效率,这才是我们编程的意义所在。

二、实现

于是就想实现一个web版的图片生成器,填颜色、尺寸、格式就可以生成指定的图片,Python的图像库肯定首选pillow,实现起来很简单,所以就不详细解释了,直接上代码:

1 defgenerate_image(static_dir, image_type, width, height, color):2 print(static_dir, image_type, width, height, color)3

4 mode = 'RGB'

5 width =int(width)6 height =int(height)7 color_tuple =ImageColor.getcolor(color, mode)8

9 image =Image.new(mode, (width, height), color_tuple)10

11 image_dir = os.path.join(static_dir, 'image')12 image_name = '%sx%s_%s.%s' %(width, height, int(time.time()), image_type)13 image_path =os.path.join(image_dir, image_name)14

15 font = ImageFont.truetype('./font/consola.ttf', 96)16 draw =ImageDraw.Draw(image)17 mark_content = '{width}x{height}'.format(width=width, height=height)18 for i, ch inenumerate(mark_content):19 draw.text((60*i + 10, 10), ch, font=font, fill=rndColor())20

21 image.save(image_path)22

23 print('image_path:%s' %(image_path))24 return image_path

这个就是核心的生成图片的逻辑,其中稍微费了点时间的是水印的生成,这里添加水印的用意是为了在图片上显示图片的尺寸,方便使用者直观的看到该图片的尺寸,其中需要使用到ImageDraw.text()方法,这里需要注意的是要根据你的字体大小设置合适的字间距,我是通过多次调整尝试的,最终得到一个自己满意的效果。

另外,关于字体名字,默认在不同平台下会去不同的目录查找该名字的字体,Windows下是在c://windows/fonts/目录下,Linux是在/usr/share/fonts目录下,这里为了避免后续部署时不同电脑上字体不同导致的问题,我直接把字体文件放在代码库中了,所以使用的是一个相对路径。

三、预览

python生成图像公章_python库pillow:实现生成图片并加水印相关推荐

  1. python生成图像公章,用PPT就可以做印章?是的,超简单超逼真,教你一分钟搞定...

    现在随着电子化办公的普及,电子印章的使用频率也越来越高了~ 说到制作印章,很多人第一想法都是用PS,其实不用的,PPT就可以轻松DIY了,不信?先看下效果. 一.印章制作 1.制作印章外框 我们打开P ...

  2. python中prettytable模块_Python库: PrettyTable 模块

    一 PrettyTable简介 PrettyTable是python中的一个第三方库,可用来生成美观的ASCII格式的表格: 二 PrettyTable安装 使用PIP即可十分方便的安装PrettyT ...

  3. python的scramy架构_Python库: PrettyTable 模块

    一.PrettyTable简介 PrettyTable 是python中的一个第三方库,可用来生成美观的ASCII格式的表格: 二.PrettyTable安装 使用pip即可十分方便的安装Pretty ...

  4. python生成随机数代码_Python中产生随机数

    一.Python自带的random库 1.参生n--m范围内的一个随机数: random.randint(n,m) 2.产生0到1之间的浮点数: random.random() 3.产生n---m之间 ...

  5. python生成字符画_Python生成字符画 | 文艺数学君

    摘要这一篇文章介绍使用Python生成字符画的方式. 会给出简单的原理介绍和实现的方式. 最后会给出源代码的链接地址. 简介 这一篇介绍一下使用Python来进行字符画的生成. 这里会介绍一下生成的步 ...

  6. python生成规定随机数_python生成随机数的方法

    python生成随机数的方法 发布时间:2020-08-21 14:50:04 来源:亿速云 阅读:110 作者:小新 这篇文章主要介绍了python生成随机数的方法,具有一定借鉴价值,需要的朋友可以 ...

  7. python生成随机数方法_Python生成随机数的方法

    如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文 ...

  8. python生成html报表_python生成HTMl报告(unittest)

    放在*\python3\script 或者放在当前项目文件夹下 亦或者在python35下的lib文件夹下 (注意最好放在根目录下) from HTMLTestRunner import HTMLTe ...

  9. python生成正态分布数据_python 生成正态分布数据,并绘图和解析

    1.生成正态分布数据并绘制概率分布图 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 根据均值.标准差 ...

最新文章

  1. drx功能开启后_简单实用!小米手机中这些新功能真香
  2. .NET编码解码(HtmlEncode与HtmlEncode)
  3. IOS UIViewController的生命周期
  4. Elementary OS 系统Java8环境的配置
  5. C++标准库函数begin和end函数
  6. MySQL课设小问题_MySQL必会的50个常见面试练习题
  7. Java队列——线程池创建的例子
  8. matlab2c使用c++实现matlab函数系列教程-sqrt函数
  9. 《System语言详解》——4. 探
  10. php绘制甘特图,如何用excel做甘特图?甘特图制作方法图解
  11. 常用的求和公式(级数求和)
  12. Python基础-Week2
  13. Linux—虚拟机下如何查看系统是多少位的?32 or 64
  14. node.js+uniapp计算机毕业设计安卓和悦少年文明礼仪监管APP(程序+APP+LW)
  15. 币小秘:如何才能减少被套,降低风险!
  16. python实现erp系统后端_python开发erp教程《PYTHON编一套完整ERP系统,15万元能下来吗》...
  17. Linux下gunicorn用法
  18. Java处理生僻字的问题
  19. 计算机系统采用终中断的目的是?
  20. Kaptcha:验证码生成

热门文章

  1. 2021年中国木炭发展现状及进出口状况分析:东南亚成为我国木炭进口主要来源地 [图]
  2. 对智慧海洋数据进行数据分析
  3. (一)mini2440网卡驱动dm9000之dm9000_probe分析
  4. FLASH模拟EEPROM编程
  5. Capto for Mac屏幕录制编辑工具
  6. 北京智慧军营信息化管理系统软件解决方案
  7. 红娘婚恋交友App开发Apacheecho和print系统
  8. Python实现短链生成
  9. 计算机毕业设计Javaweb家教管理系统(源码+系统+mysql数据库+lw文档)
  10. 【专题复习】微分方程重点知识整理