朋友公司让做的小功能,希望输入什么就在终端上把什么东西打印出来。比如输入python3 print.py hello,打印,可以设置字体,改变打印样式
*** *** ***
*** *** ***
*** *** ***
*** *** ***
*** *** ***
*** *** ***
*** ****** ******* *** *** ********
*********** ********* *** *** **********
***** **** ***** **** *** *** ***** *****
**** *** **** **** *** *** **** ****
**** *** *** *** *** *** *** ***
**** *** *********** *** *** *** ***
*** *** *********** *** *** *** ***
*** *** *** *** *** *** ***
*** *** *** * *** *** **** ****
*** *** ***** *** *** *** ***** *****
*** *** ********* *** *** **********
*** *** ******** *** *** ********
环境是python3 ,直接上代码吧 ,使用python filename.py param运行
# coding=utf-8
from PIL import Image, ImageDraw, ImageFont
import sys
# 字体大小
fontSize = 22
def generateImg(str='Null'):
_font = ImageFont.truetype(r"c:\windows\fonts\msyh.ttc", fontSize, index=1)
# 画布
_img = Image.new(mode='RGB', size=[fontSize * len(str) + 20, fontSize + 10], color=(255, 255, 255))
# 画笔
_draw = ImageDraw.Draw(_img, mode='RGB')
# 写文本
_draw.text([0, 0], str, (0, 0, 0), font=_font)
# 返回图片数据
return _img
if __name__ == "__main__":
_str = "你好"
# 判断是否有参数
if len(sys.argv) > 1:
print(sys.argv[1])
_str = sys.argv[1]
# 字符形状打印
_my_img = generateImg(_str)
# 宽高
_weight = _my_img.size[0]
_height = _my_img.size[1]
# 查看图片
# _my_img.show()
# 遍历像素点
for y in range(0, _height):
for x in range(0, _weight):
# print(_my_img.getpixel((x, y)))
# 不等于背景r像素点 打印*
if _my_img.getpixel((x, y))[0] != 255:
print('*', end='')
else:
print(' ', end='')
# 换行
print()