要走创意路线好吗!print 我爱你
之流怕不是在小学五年级奥塞的时候就玩腻的,真丢「理科生」的脸。
0x00 起因
本着善待接纳的态度,😂这人怕不是刚入计算机系的大一新(la)生(ji)吧。
当场分手 +1。
0x01 动手
代码优雅与否并不是重点=。=真正的秀,要让对面不懂代码的人能看得明白效果,并且觉得你写的有「卵」用。
不考虑什么「设计模式」、「依赖注入」、「最佳实践」之类的,劳资敲代码就是一把梭!
# -*- coding: utf-8 -*-
from PIL import Image
codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. ''' # 生成字符画所需的字符集
count = len(codeLib)
def transform(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 + '\r\n'
return codePic
fp = open(u'my-lover.jpg', 'rb')
image_file = Image.open(fp)
image_file = image_file.resize(
(int(image_file.size[0]), int(image_file.size[1]*0.4))) # 调整图宽高比例
print u'Info:', image_file.size[0], ' ', image_file.size[1]
result = open('result.txt', 'w')
result.write(transform(image_file))
result.close()
以上代码修改自:https://blog.csdn.net/wait_nothing_alone/article/details/52901531