Python生成彩色字符画
Python生成彩色字符画
- 前提条件
- 相关介绍
- 实验环境
- 生成彩色字符画
-
- 主要思路
- 代码实现
- 输出结果
前提条件
- 熟悉Python基本语法
相关介绍
- Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
- PIL是Python平台事实上的图像处理标准库,支持多种格式,并提供强大的图形与图像处理功能。目前PIL的官方最新版本为1.1.7,支持的版本为python 2.5, 2.6, 2.7,并不支持python3,因此我们用pillow代替
- 实验目标:Python生成彩色字符画
实验环境
- Python 3.x (面向对象的高级语言)
- PIL (python第三方库)
pip3 install pillow
生成彩色字符画
主要思路
首先,循环将text字符串,填写进图片每一像素,比字体颜色与原图像素保持一致,直到所有像素都填写完成为止。
代码实现
# -*- coding: utf-8 -*-"""Created on Fri Feb 25 20:07:11 2022@author: TFX"""from PIL import Image, ImageDraw, ImageFont# 生成彩色字符画def CharPic(text): # 输入参数为text文字 font_size = 20 # 字体大小 img_path = "test.jpg" # 图片路径 font_path = 'C:/Windows/Fonts/simhei.ttf' # 黑体字体路径,windows电脑可以在C:\Windows\Fonts里找到 # PIL.ImageFont.truetype(font=None, size=10, index=0, encoding=”) 返回一个字体对象 font = ImageFont.truetype(font_path, font_size) img = Image.open(img_path) w, h = img.size new_img = Image.new("RGBA", (w, h)) num = 0 for i in range(0, h, font_size): for j in range(0, w, font_size): r,g,b= img.getpixel((j, i)) # print(r,g,b) draw = ImageDraw.Draw(new_img) draw.text((j, i), text[num % len(text)], fill=(r, g, b), font=font) num += 1 new_img.show() # 显示图片 new_img.save(text+'.png') # 保存为'.jpg'文件打不开if __name__ == "__main__": CharPic("美女")