大家好,我是酷叮貓少兒編程的酷酷老師,今天給大家介紹的是一個非常有意思的小程序。
相信大家都看過很多非常漂亮的圖片,那麼python如何把圖片用字符顯示出來呢?
原圖是這樣的:
生成的字符畫是這樣的:
是不是很有意思!那接下來就和老師一起來編寫這個程序吧。
一、首先,讓我們安裝一個非常著名的圖形庫名字叫pillow
如果各位同學的電腦上已經安裝了python環境,那麼執行下面的指令
python -m pip install pillow
安裝完畢,我們就可以使用pillow 庫來繪製圖形了。
二、然後,新建一個文件,名字叫PictureToCharImg.py
代碼如下:
from PIL import Image
codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`'. ''' # 生成字符畫所需的字符集
count = len(codeLib)
def transform1(image_file):
image_file = image_file.convert("L") # 轉換為黑白圖片,參數"L"表示黑白模式
codePic = ''
for h in range(0, image_file.size[1]): # size屬性表示圖片的分辨率,'0'為橫向大小,'1'為縱向
for w in range(0, image_file.size[0]):
gray = image_file.getpixel((w, h)) # 返回指定位置的像素,如果所打開的圖像是多層次的圖片,那這個方法就返回一個元組
codePic = codePic + codeLib[int(((count - 1) * gray) / 256)] # 建立灰度與字符集的映射
codePic = codePic + ' '
return codePic
fp = open('叮噹貓.png', 'rb')
image_file = Image.open(fp)
image_file = image_file.resize((int(image_file.size[0] * 0.75), int(image_file.size[1] * 0.5))) # 調整圖片大小
print('Info:', image_file.size[0], ' ', image_file.size[1], ' ', count)
tmp = open('pa.txt', 'w')
tmp.write(transform1(image_file))
tmp.close()
三、最後,通過命令行格式執行下面的指令
`python PictureToCharImg.py'
如果沒有錯誤,那麼就會在目錄下生成一個pa.txt文件。
打開pa.txt文件,設置字體為宋體 小六號字 就可以直接看到效果啦。
今天的分享就到這裡,那我們下次再見啦!
閱讀更多 瀋陽酷叮貓少兒編程 的文章