1024節,我也湊個熱鬧。
讓我們用在命令行裏把上面這個圖片用字符打印出來吧!
代碼如下:
# 用PIL包: from PIL import Image # 用於打印字符畫的字符集: ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") # 將像素值轉換爲對應的字符: def rgb_to_char(r, g, b, alpha=256): if alpha == 0: return ' ' length = len(ascii_char) gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b) unit = (256.0 + 1) / length return ascii_char[int(gray / unit)] # 生成字符畫 def createCodePic(img_path): img = Image.open(img_path) img = img.resize((100, 30)) size = img.size width = size[0] height = size[1] pimg = img.load() txt = "" for i in range(height): for j in range(width): r = pimg[j, i][0] g = pimg[j, i][1] b = pimg[j, i][2] txt = txt + rgb_to_char(r, g, b, alpha=256) txt = txt + "\n" print(txt) createCodePic('hello.jpg')
得到:
讓我們向1024背後可愛的程序員們致敬!
謝謝你們改變了世界,
讓我們的生活有如此多驚喜!