先认识下img2html
img2html 用于将图片转化为 HTML 页面,并没有什么实际作用,只是为了好玩。
这句话是出自img2html作者在github上对其的介绍。
正如作者给出的效果图所示,可以将任何图片轻松转换成字符组,并且生成HTML文件。原理大概是将图片的每个像素转换成指定的字符。下面将介绍这个库的安装、调试及使用。
img2html的安装
安装很简单,直接pip安装即可
pip install img2html
更新
pip install img2html --upgrade
另外还可以通过源码安装
git clone https://github.com/xlzd/img2html.git
cd img2html
python setup.py install
适配python3.5
截止到我写这篇博客,img2html的最新版本是0.0.7。如果你的python版本是2.7的话是可以直接使用的,但是如果拍Python版本>=3.5的话还需要改一下源码。
我是在Ubuntu上直接通过pip(pip3)安装的,我需要修改/home/.local/lib/python3.6/site-packages/img2html/
下的converter.py
文件。
首先,把文件中的所有xrange()
修改成range()
然后,将72~73行
if isinstance(char, str):
char = char.decode('utf-8')
删去
再然后,将97行的char=self.char.next()
修改为char=next(self.char)
55行的format(_c.next())
修改为format(next(_c))
最后,把第一行的#! /usr/bin/env python
修改为#!/usr/bin/env python3
来指定使用python3.x解释器。
img2html使用
有两种方法可以使用img2html
通过命令行使用
直接在终端输入
img2html [-h] [-b #RRGGBB] [-s 4~30] [-c CHAR] [-t TITLE] [-f FONT] -i IN [-o OUT]
-b
是背景色,参数是RGB颜色(不带#号),默认黑色-s
是字号大小,同样大小的图片字号越小填充的符号越多,相对越清晰,默认是4-c
是填充的字符,默认是“爱”(明显是用做给女朋友的,单身狗们看看就得了)-t
是输出的HTML文件标题,默认是img2html by xlzd-f
是字体,这个默认是monospace(不知道跟系统字体有没有关系)-i
是图片地址及图片名,只有这项是必须填写的,没有默认值(想想也是……)-o
是输出地址以及文件名,如果不写的话会直接把HTML源码打印在终端上
通过代码调用
这个我还没试过,直接搬运作者给的了
from img2html.converter import Img2HTMLConverter
converter = Img2HTMLConverter(*some config here*)
html = converter.convert(*image_path*)
# done, so easy.
最后是个用通过命令行使用的示例
这里直接以题图为例
我把图片放在/home/nakeshu/test/
目录下
在终端输入
img2html -c @ -t head_pic -i /home/nakeshu/test/head_pic.jpg -o /home/nakeshu/test/test.html
可以看到HTML文件已经生成了
最后我为了让大家更好的看到效果,我把这个文件上传到我的服务器上,大家点击这里可以直观地看到生成的效果