朋友公司讓做的小功能,希望輸入什麼就在終端上把什麼東西打印出來。比如輸入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()