将源代码转换为十字绣图案

pyxstitch的Python项目详细描述


pyxstitch是一个应用程序(以及相关的库/组件),它 获取源代码文件并生成语法突出显示的模式 十字绣。

参见示例和完成的十字绣图案 here!

安装

PIP

可通过pip

pip install pyxstitch

来源

  • 克隆源repo并…
python setup.py install

pip install .

pip install -e .

操作系统包装

oslink
arch linuxaur

用法

运行

pyxstitch --file program.py

造型

要查看图案上的实际高光颜色,请使用--themelight-dmc 如果使用高对比度样式,则可能需要切换 --theme dark(或--themedark-dmc表示深色 背景)。

着色样式作为pygments项目的一部分提供,但是 可以这样传递

pyxstitch --file program.py --style monokai

输出

默认情况下,创建的PNG文件与源代码文件名匹配 (例如hello.py->;hello.png),更改此项

pyxstitch --file program.py --output image.png

或者只需将文件类型和/cat类型传递到pyxstitch

cat test.py | pyxstitch --file .py --output myimage.png

默认情况下,pyxstitch将尝试创建多个页面,以便 读取大型模式时,可以通过--multipage进行修改。

语法/lexer

默认情况下,如果 使用piped/stdin,可以更改,因此

cat test.py | pyxstich

不产生突出显示,但

cat test.py | pyxstitch --file .py
# or
cat test.py | pyxstitch --lexer autodetect
# or tell it which pygments lexer to use
cat test.py | pyxstitch --lexer python

字体

选择其他字体(从可用字体中)

pyxstitch --font <type-charset-size>

牙线颜色

可以重新映射或禁用颜色,例如要禁用颜色,请将其设置为 映射为空

pyxstitch --file test.c --map 000000=

或将一种颜色映射到另一种颜色

pyxstitch --file test.c --map 000000=ffffff

高级

一些配置选项可通过--kv输入获得 设置。或者在$HOME/.pyxstitch.config文件中将这些设置为 始终使用不同的默认值(除非传递了--kv,否则请传递 --config并指定一个不同于$HOME

中的文件
vim $HOME/.pyxstitch.config
---
# comments will be ignored
page_height=400
page_width=300

高度

设置默认页面高度(600默认值)

--kv page_height=500

宽度

设置默认页面宽度(1000默认值)

--kv page_width=900

填充

页面填充(边距),默认为50

--kv page_pad=100

指数

on multipage将生成一个html文件(默认为0)来对图像进行分组 形成一种模式

--kv page_no_index=1

图例

默认值为0,将把图例打印到控制台(而不是输出 图像)设置为1时

--kv page_legend=1

高度偏移

默认值为0,将更改图像上的图例高度位置

--kv legend_hoff=10

宽度偏移

默认值为0,将更改图像上的图例宽度位置

--kv legend_woff=-5

字体大小

在输出时调整图例的字体比例

--kv page_font_size=100

缩放

可以通过指定垂直和/或水平来放大图案 缩放开始/结束

pyxstitch --hszoom 20 --hezoom 30 --vszoom 10 --vezoom 40

将输出缩放到水平网格位置20到30和垂直 网格位置10到40

示例

中有示例源代码文件和相应的输出png。 examples文件夹

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java广播接收器未检测到按键事件   java不为特定列更改创建修订   java采用了更实用的方法   java桌面窗格HTML呈现   java处理internet连接丢失   java在调整JFrame的大小时,如何防止JTable的列调整大小?   如何用Java中的“Scanner.hasNext”完成程序   具有模块名称的java停止IntelliJ项目工具窗口?   执行已编译的Rails-Warbler JAR文件时发生java加载错误   java Spring数据redis存储库不支持集合查询?   每个客户端的java队列请求   获取Java中的JSON嵌套数组元素   java GWT,Vaadin ConcurrentModificationException   firebase存储中的java在保存照片之前,我需要发送两次照片   JavaSpringEleaf如何在容器外使用变量