Python | 使用 Tiler 制作马赛克镶嵌画

2019-11-08  本文已影响0人  Xpitz

文章首发于个人公众号:「阿拉平平」

Tiler 是一款 Python 开发的马赛克镶嵌画制作工具 。与其它镶嵌工具不同的是,Tiler 制作的镶嵌画可以适应不同形状和大小的图块(不限于方块)。本文将介绍如何使用 Tiler 制作马赛克镶嵌画。

安装

在下载项目前,需要安装好 Python3 和 pip。具体安装方法可以参考网上资料,这里就不多赘述了,完成后执行以下步骤。

下载项目:

git clone https://github.com/nuno-faria/tiler.git

安装依赖包:

pip install -r requirements.txt

目录及文件说明:

.
├── conf.py                  # 配置文件
├── gen_tiles.py             # 图块生成脚本
├── images                   # 项目示例图片
├── requirements.txt         # 依赖包
├── tiler.py                 # 图片制作脚本
├── tiles                    # 图块目录 (以下均为项目自带图块)
│   ├── at
│   ├── circles
│   ├── clips
│   ├── hearts
│   ├── lego
│   ├── lines
│   ├── minecraft
│   ├── plus
│   ├── times
│   └── waves
└── tiles.pickle

使用方法

本章将介绍 Tiler 的使用方法,包含以下内容:

自带图块

首先,准备一张需要制作成镶嵌画的图片,如下:


cake.png

图片可以放到任何目录下。出于方便,我将图片 cake.png 直接放到 images 目录下。

之后,选择需要镶嵌的图块。Tiler 自带多种图块,这里我选择 @ 符号作为镶嵌图块,以下是图块 tiles/at 目录:

at
├── at.png
└── gen_at

说明:

在 tiler 目录中执行以下命令:

python tiler.py ./images/cake.png ./tiles/at/gen_at/

执行中可以看到进度,整个过程可能会花费一些时间。完成后,tiler 目录中会生成 out.png,效果如下:


out.png

这样,镶嵌画就制作完成了。可能有童鞋会问:我不想用工具自带的图块,这个图块能不能自定义呢?

答案是可以的,Tiler 提供了生成图块的脚本 gen_tiles.py。接下来,让我们试下用自定义图块制作镶嵌画。

自定义图块

首先,准备自定义图块的图片,如下:


drop.png

在 tiles 目录下新建目录 drop,目录结构如下:

drop
└── drop.png

在 tiler 目录下执行命令:

python gen_tiles.py ./tiles/drop/drop.png

完成后会在 tiles/drop 下生成 gen_drop 目录,之后就可以使用该图块了:

brick
├── drop.png
└── gen_drop

使用自定义图块制作的效果:

out.png

配置参数

由于样例图片比较简单,所以使用默认配置就可以满足。而对于复杂的图片,可调大配置文件 tiler/conf.pyDEPTHCOLOR_DEPTH 的值。

说明:

写在后面

参考资料

[1] GitHub:https://github.com/nuno-faria/tiler
[2] cake.png:https://www.flaticon.com/free-icon/cake_1102780
[3] drop.png:https://www.flaticon.com/free-icon/drop_179529

上一篇下一篇

猜你喜欢

热点阅读