Skip to main content

命令行工具生成锋利的象棋(中国象棋)设置图形

项目描述

xiangqi-setup(和xiangqi-board)

概述

xiangqi-setup是一个命令行工具,使用svgutils 0.3.4 将WXF/FEN/ annoFEN / XAY文件中的象棋(中国象棋)棋盘设置渲染为 SVG 图像。使用包含移动历史的 WXF 文件,xiangqi -setup可以在初始设置的基础上重放这些移动——所有移动、无移动或任何自定义移动数量(使用参数)。使用XAY / annoFEN文件,它还可以绘制箭头,将字段标记为“好”、“坏”或参与移动 - 它可以添加注释--moves COUNT

渲染给定设置的最简单方法是:

# xiangqi-setup input.wxf output.svg

对于文件doc/demo.wxf,结果是:

(左:默认棋盘,默认棋子 - 右:默认棋盘,euro_xiangqi_js棋子)

棋盘和棋子有许多主题可供选择(独立)。下面的--help列表还包括所有主题的列表及其许可信息。

默认板主题是使用clean_alphaxiangqi-setupxiangqi-board 中包含的 命令行工具生成的。它可用于创建 detault 主题的变体,例如创建一个在十字架中减少间距的版本,您将运行:

# xiangqi-board --cross-gap-px 2 board.{svg,ini}

安装

您可以使用 pip 安装最新版本,如下所示:

# pip install xiangqi-setup

如果您希望master在 virtualenv 中从 Git 运行最新的预发布代码,您可以这样做:

# git clone --depth 1 https://github.com/hartwork/xiangqi-setup
# cd xiangqi-setup/
# python3 -m venv venv
# source venv/bin/activate
# pip install -e .

写一本书

有关如何使用xiangqi-setup编写书籍的演示,请参阅https://github.com/hartwork/xiangqi-book-example

详细用法

xiangqi-setup— 将 WXF/FEN/annoFEN/XAY 文件渲染为 SVG 图像

# xiangqi-setup --help
usage: xiangqi-setup [OPTIONS] INPUT_FILE OUTPUT_FILE
       xiangqi-setup --help
       xiangqi-setup --version

Generate razor-sharp Xiangqi (Chinese chess) setup graphics

positional arguments:
  INPUT_FILE            location of WXF/FEN/annoFEN/XAY file to render
  OUTPUT_FILE           location of SVG output file to write

optional arguments:
  -h, --help            show this help message and exit
  --debug               enable debugging (e.g. mark corners of the board)
  --version             show program's version number and exit

theme selection:
  --board THEME         name of board theme to use (default: "clean_alpha");
                        please check the list of available themes below
  --pieces THEME        name of piece theme to use (default: "retro_simple");
                        please check the list of available themes below
  --annotations THEME   name of annotation theme to use (default:
                        "colors_alpha"); please check the list of available
                        themes below

scaling:
  --width-px PIXEL      width of the output in pixels (default: ~248.03, i.e. 7.0cm at 90.0dpi)
  --width-cm CENTIMETER
                        width of the output in centimeters (default: 7.0)
  --dpi FLOAT           resolution of the output in dots per inch (default: 90.0)
  --scale-pieces FACTOR
                        factor to scale pieces by (0.0 to 1.2, default: 0.9)
  --scale-annotations FACTOR
                        factor to scale annotations by (0.0 to 1.2, default: 0.9)

WXF format arguments:
  --moves COUNT         how many moves to play (for a file with moves history),
                        e.g. "3" would play the first move of red, the first
                        move of black and the second move of red and then skip
                        any remaining moves, "all" would play all moves, "-1"
                        all moves but the last, "-2" all but the last two
                        (default: "0")
  --annotate-last-move  Add annotations "blank_move" and "piece_move" to the
                        source and target locations of the last move

board themes (16 available, in alphabetic order):
  a4_blank_2cm_margin                        (license: CC0-1.0)
  cambaluc_remake_nolegend                   (license: CC0-1.0)
  cambaluc_remake_nolegend_nogap             (license: CC0-1.0)
  ccbridge_3_0_beta4_default_preview_remake  (license: CC0-1.0)
  clean_alpha                                (license: CC0-1.0)
  clean_beta                                 (license: CC0-1.0)
  commons_xiangqi_board_2008                 (license: public-domain)
  commons_xiangqi_board_2008_bw_thin         (license: public-domain)
  dhtmlxq_2014_remake                        (license: CC0-1.0)
  latex_xq_remake                            (license: CC0-1.0)
  minimal                                    (license: CC0-1.0)
  minimal_chinese                            (license: CC0-1.0)
  minimal_chinese_arabic                     (license: CC0-1.0)
  playok_2014_remake                         (license: CC0-1.0)
  western_red_wine                           (license: CC0-1.0)
  xiexie_2_5_0_remake_minimal                (license: CC0-1.0)

piece themes (9 available, in alphabetic order):
  ccbridge_3_0_beta4_default_preview_remake  (license: CC0-1.0)
  commons_xiangqi_pieces_print_2010          (license: FDL-1.2+ / CC-BY-SA-4.0)
  commons_xiangqi_pieces_print_2010_bw_heavy (license: FDL-1.2+ / CC-BY-SA-4.0)
  euro_xiangqi_js                            (license: CC-BY-4.0)
  latex_xqlarge_2006_chinese_autotrace       (license: non-commercial)
  latex_xqlarge_2006_chinese_potrace         (license: non-commercial)
  playok_2014_chinese                        (license: CC0-1.0)
  playok_2014_chinese_noshadow               (license: CC0-1.0)
  retro_simple                               (license: CC0-1.0)

annotation themes (2 available, in alphabetic order):
  colors_alpha                               (license: CC0-1.0)
  gray_alpha                                 (license: CC0-1.0)

xiangqi-board— 创建自定义板主题

# xiangqi-board --help
usage: xiangqi-board [-h] [--line-thickness-px FLOAT] [--field-width-px FLOAT]
                     [--field-height-px FLOAT] [--border-thickness-px FLOAT]
                     [--border-gap-width-px FLOAT]
                     [--border-gap-height-px FLOAT] [--cross-width-px FLOAT]
                     [--cross-thickness-px FLOAT] [--cross-gap-px FLOAT]
                     SVG_FILE INI_FILE

positional arguments:
  SVG_FILE
  INI_FILE

optional arguments:
  -h, --help            show this help message and exit
  --line-thickness-px FLOAT
                        Line thickness of square fields in pixel (default: 1)
  --field-width-px FLOAT
                        Width of fields in pixel (default: 53)
  --field-height-px FLOAT
                        Height of fields in pixel (default: 53)
  --border-thickness-px FLOAT
                        Line thickness of border in pixel (default: 2)
  --border-gap-width-px FLOAT
                        Widtn of gap to border in pixel (default: 40)
  --border-gap-height-px FLOAT
                        Height of gap to border in pixel (default: 40)
  --cross-width-px FLOAT
                        Width of starting position cross segments in pixel
                        (default: 10)
  --cross-thickness-px FLOAT
                        Line thickness of starting position cross in pixel
                        (default: 1)
  --cross-gap-px FLOAT  Gap to starting position cross in pixel (default: 4)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

xiangqi-setup-2.1.0.tar.gz (1.4 MB 查看哈希)

已上传 source

内置分布

xiangqi_setup-2.1.0-py3-none-any.whl (1.2 MB 查看哈希)

已上传 py3