代码拉取完成,页面将自动刷新
#coding=utf-8
import sys
# python Image2Chars.py target_image_name output_width output_height
reload(sys)
sys.setdefaultencoding('utf8')
# __author__ = '郭 璞'
# __date__ = '2016/8/4'
# __Desc__ = 一个可以将图片转换成终端字符形式的小工具
from time import *
import Image
class ImageTool():
def __init__(self):
print 'Initialization Completed! @',ctime()
def getChars(self,image_pixels,image_width,image_height):
replace_chars = 'ABCDEFGHIJKLMNO '
terminal_chars = ''
for h in xrange(image_height):
for w in xrange(image_width):
point_pixel = image_pixels[w,h]
terminal_chars +=replace_chars[int(sum(point_pixel)/3.0/256.0*16)]
terminal_chars+='\n'
return terminal_chars
def formatImage(self,imagename,image_width,image_height):
img = Image.open(r'imagename','rb')
if img.mode != 'RGB':
img = img.convert('RGB')
w,h = img.size
rw = image_width*1.0/w
rh = image_height*1.0/h
r = rw if rw<rh else rh
rw = int(r*w)
rh = int(r*h)
img = img.resize((rw,rh),Image.ANTIALIAS)
return img
def entrance(self,image_path,out_width,out_height):
image = self.formatImage(imagename=image_path,image_width=out_width,image_height=out_height)
image_pixels = image.load()
out_width ,out_height = image.size
terminal_chars = self.getChars(image_pixels=image_pixels,image_width=out_width,image_height=out_height)
if __name__ == "__main__":
tool = ImageTool()
imagename = sys.argv[1]
w = int(sys.argv[2])
h = int(sys.argv[3])
tool.entrance(imagename,w,h)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。