推荐个超好玩的项目

GitHub上有个很有意思的项目,这个项目就是将一张图片转换成一个网页,例如这张蒙娜丽莎的微笑转换成网页之后的效果对比:

640?wx_fmt=png

左边是原图,右边是网页的效果,网页其实是由文字“爱”组成的。 具体的实现原理就是将图片切成很多个N*N的小块,然后将每个小块的像素平均值当做合成像素的颜色,最后渲染到 HTML 页面中对应位置的文字颜色。

原项目GitHub地址: https://github.com/xlzd/img2html 不过它只能支持Python2,我Fork了一份,将其转换为了 Python3  的版本。

安装

直接通过 GitHub 进行安装

$ pip install git+https://github.com/lzjun567/img2html
命令行使用方式

安装完成后,可以直接使用命令 img2html 执行,-i 和 -o 两个参数是必须指定的,前者表示要转换的图片,后者表示输出的文件名,如果没有指定 o 参数,那么 HTML 将直接输出在控制台,其它参数都是可选的。

usage: img2html  -i IN -o OUT

img2html : Convert image to HTML

optional arguments:
  -b #RRGGBB, --background #RRGGBB  background color (#RRGGBB format)
  -s (4~30), --size (4~30)          font size (int)
  -c CHAR, --char CHAR              characters
  -t TITLE, --title TITLE           html title
  -f FONT, --font FONT              html font
  -i IN, --in IN                    要转换的图片
  -o OUT, --out OUT                 输出文件名

例如

$ img2html -i mnls.jpg -o test.html
代码调用
from img2html.converter import Img2HTMLConverter

converter = Img2HTMLConverter(char='爱')
html = converter.convert("mnls.jpg")

with open("mnls.html", mode='w', encoding="utf-8") as f:
    f.write(html)

Python3版本链接:https://github.com/lzjun567/img2html

主要修改的地方有两处,一个是字符串不兼容的问题,第二个是修复了 itertools.cycle 没有next方法的问题。整个项目就一个文件,可以 Fork 下来读读他的源代码。

推荐阅读

640?优秀如你

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值