从PGN文件创建国际象棋游戏的gif包。
chess-gif的Python项目详细描述
国际象棋
chess_gif是一个python库,它可以方便地以PGN
(便携式游戏符号)格式制作象棋游戏的gif,这是记录象棋游戏的标准纯文本格式。在
说明
chess_gif提供允许用户从棋类游戏的PGN文件创建高度可定制和优化的gif。在
安装
您可以从PyPI安装国际象棋。在
pip install chess_gif
chess_gif需要pyvips和{a4}作为其依赖项:
- 在
Windows用户需要下载pyvip的二进制文件并将
在vips-dev-x.y\bin
添加到他们的PATH
变量中以进行安装。您可以通过clicking here下载二进制文件。Linux和macOS用户不必担心这个问题,可以跳过这一步。有关详细信息,请参阅pyvip's installation guide。在 - 在
运行安装时,在MacOS上,安装程序将使用Brew自动安装gissicle。在
在Linux上,您需要使用apt get安装gissicle,如下所示:
^{pr2}$在Windows上,您需要为您的操作系统下载并安装appropriate port of the library。将
在gifsicle.exe
文件的路径添加到PATH
变量中。在
使用示例
这是一个PGN文件示例。在
[Event "F/S Return Match"]
[Site "Belgrade, Serbia JUG"]
[Date "1992.11.04"]
[Round "29"]
[White "Fischer, Robert J."]
[Black "Spassky, Boris V."]
[Result "1/2-1/2"]
1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 {This opening is called the Ruy Lopez.}
4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3 O-O 9. h3 Nb8 10. d4 Nbd7
11. c4 c6 12. cxb5 axb5 13. Nc3 Bb7 14. Bg5 b4 15. Nb1 h6 16. Bh4 c5 17. dxe5
Nxe4 18. Bxe7 Qxe7 19. exd6 Qf6 20. Nbd2 Nxd6 21. Nc4 Nxc4 22. Bxc4 Nb6
23. Ne5 Rae8 24. Bxf7+ Rxf7 25. Nxf7 Rxe1+ 26. Qxe1 Kxf7 27. Qe3 Qg5 28. Qxg5
hxg5 29. b3 Ke6 30. a3 Kd6 31. axb4 cxb4 32. Ra5 Nd5 33. f3 Bc8 34. Kf2 Bf5
35. Ra7 g6 36. Ra6+ Kc5 37. Ke1 Nf4 38. g3 Nxh3 39. Kd2 Kb5 40. Rd6 Kc5 41. Ra6
Nf2 42. g4 Bd3 43. Re6 1/2-1/2
>>>fromchess_gif.gif_makerimportGifmaker>>>obj=Gifmaker('sample.pgn')>>>obj.make_gif('chess_game.gif)
在
依赖关系
- 在
python-chess:python chess是一个纯python chess库,具有移动生成、移动验证和对常用格式的支持。chess_gif使用python chess解析pgn文件,并创建象棋游戏的棋盘表示。在
在 - 在
Python Imaging Library:Pillow是Alex Clark和贡献者的友好PIL fork。PIL是Fredrik Lundh和贡献者编写的Python图像库。在
在 - 在
imageio:Imageio是一个Python库,它提供了一个简单的界面来读写各种图像数据,包括动画图像、视频、体积数据和科学格式。它是跨平台的,运行在python3.5+上,并且易于安装。chess_gif使用imageio从使用PIL生成的帧创建gif。在
在 - 在
pyvips:模块包装libvips图像处理库。它需要libvips共享库位于库搜索路径(版本8.2或更高版本)上。该库已在chess_gif中用于svg渲染。在
在 - 在
pygifsicle:Python包包装gifsicle库,用于编辑和优化gif。在
在
学分
- 在
用于存储库的片段主题来自于来自lichess.org's惊人repository-lila的公共可用主题。在
在 - 在
python-chess的pgn解析器使解析pgn文件以呈现gif变得非常容易。在
在
许可证
存储库是在MIT License下授权的。在
贡献
- 叉开(https://github.com/fork52/chess_gif/fork)
- 创建您的功能分支(
git checkout -b feature/fooBar
) - 提交更改(
git commit -am 'Add some fooBar'
) - 推送到分支(
git push origin feature/fooBar
) - 创建新的拉取请求
- 项目
标签: