图片转像素风实现 发表于 2018-03-30 | 更新于 2018-10-27 | 分类于 python | Python用来写各种小工具简直是神器,昨天晚上花了点时间实现了一个图片转像素风的小工具,下面附上图片Demo和代码 下面是实现的具体代码: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546from PIL import Image import argparse # 命令行输入参数处理 parser = argparse.ArgumentParser() parser.add_argument('file') # 输入文件 parser.add_argument('-o', '--output') # 输出文件 parser.add_argument('--maxlen', type=int, default=150) # 获取参数 args = parser.parse_args() IMG = args.file MAXLEN = args.maxlen OUTPUT = args.outputdef resize_image(im): (width, height) = im.size max_len = max(width, height) if max_len <= MAXLEN: return im else: scale = max_len / MAXLEN size = (int(width//scale), int(height//scale)) return im.resize(size, Image.NEAREST) if __name__ == '__main__': im = Image.open(IMG) im = resize_image(im) txt = "" (width, height) = im.size for i in range(height): for j in range(width): (r, b, g) = im.getpixel((j, i)) txt += "<font style='background:rgb({},{},{});display:inline-block;width:3px;height:3px;margin:1px;'></font>".format(r, b, g) txt += '</br>' if not OUTPUT: OUTPUT = "output.txt" with open(OUTPUT,'w') as f: f.write(txt) 感谢支持,我会继续努力! 打赏 微信支付 支付宝