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

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第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener