先上圖:

李白哥哥...
讓后下面貼上代碼....
# 1, 導入Image類
from PIL import Image
# 根據(jù)像素點的顏色值獲取字符的函數(shù)
def get_chars(pi):
# 用字符去替換像素點的顏色值
for k in range(0, 8):
if pi < (k + 1) * 32:
return chars[7 - k]
# 保存文件的函數(shù)
def save(image_name, data):
f = open(image_name + '.txt', 'w')
for d in data:
print(d, file=f)
f.close()
# 加了這個如果是需要import這個類的話, 會直接調(diào)用這段代碼...
if __name__ == '__main__':
# 2, 使用Image的對象讀取圖片
image_name = '/Users/baiya/Desktop/timg.jpeg'
img = Image.open(image_name)
# 3, 將圖片轉(zhuǎn)換為灰度圖像
img = img.convert('L')
# 4, 獲取圖片大小,并根據(jù)實際需要縮小圖片
w, h = img.size
# 如果圖片太大, 將高和寬做一個等比例的縮放
if w > 100:
h = int((100/w) * h/2)
w = 100
# 防止圖片縮放的時候質(zhì)量下降
img = img.resize((w, h), Image.ANTIALIAS)
# 5, 將縮小的圖片像素點的顏色值轉(zhuǎn)化為字符并存放到列表
# 保存像素字符的列表
data = []
# 替換字符的列表(從左到右顏色是逐漸加深)
chars = [' ', ',', '1', '+', 'n', 'D', '@', 'M']
# 根據(jù)圖片的寬度和高度便利像素點并取出每個像素點的顏色值
for i in range(0, h):
line = ''
for j in range(0, w):
# 取出像素點的值
pi = img.getpixel((j,i))
# 用字符去替換像素點的顏色值
for k in range(0, 8):
if pi < (k+1) * 32:
line += get_chars(pi)
break
data.append(line)
# 6, 將保存的字符列表寫入到文件中
save(image_name, data)
print('轉(zhuǎn)換成功!')