从PGN文件创建国际象棋游戏的gif包。

chess-gif的Python项目详细描述


国际象棋

chess_gif是一个python库,它可以方便地以PGN(便携式游戏符号)格式制作象棋游戏的gif,这是记录象棋游戏的标准纯文本格式。在

说明

chess_gif提供允许用户从棋类游戏的PGN文件创建高度可定制和优化的gif。在

安装

您可以从PyPI安装国际象棋。在

pip install chess_gif

chess_gif需要pyvips和{a4}作为其依赖项:

  1. Windows用户需要下载pyvip的二进制文件并将vips-dev-x.y\bin添加到他们的PATH变量中以进行安装。您可以通过clicking here下载二进制文件。Linux和macOS用户不必担心这个问题,可以跳过这一步。有关详细信息,请参阅pyvip's installation guide。在

  2. 运行安装时,在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)

依赖关系

  1. python-chess:python chess是一个纯python chess库,具有移动生成、移动验证和对常用格式的支持。chess_gif使用python chess解析pgn文件,并创建象棋游戏的棋盘表示。在

  2. Python Imaging Library:Pillow是Alex Clark和贡献者的友好PIL fork。PIL是Fredrik Lundh和贡献者编写的Python图像库。在

  3. imageio:Imageio是一个Python库,它提供了一个简单的界面来读写各种图像数据,包括动画图像、视频、体积数据和科学格式。它是跨平台的,运行在python3.5+上,并且易于安装。chess_gif使用imageio从使用PIL生成的帧创建gif。在

  4. pyvips:模块包装libvips图像处理库。它需要libvips共享库位于库搜索路径(版本8.2或更高版本)上。该库已在chess_gif中用于svg渲染。在

  5. pygifsicle:Python包包装gifsicle库,用于编辑和优化gif。在

学分

  • 用于存储库的片段主题来自于来自lichess.org's惊人repository-lila的公共可用主题。在

  • python-chess的pgn解析器使解析pgn文件以呈现gif变得非常容易。在

许可证

存储库是在MIT License下授权的。在

贡献

  1. 叉开(https://github.com/fork52/chess_gif/fork
  2. 创建您的功能分支(git checkout -b feature/fooBar
  3. 提交更改(git commit -am 'Add some fooBar'
  4. 推送到分支(git push origin feature/fooBar
  5. 创建新的拉取请求

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

推荐PyPI第三方库


热门话题
无JPA的纯Hibernate ORM java SpringBoot配置   安卓会生成一组唯一的java数字   java我的自定义阵列列表每次启动时都会崩溃我不确定为什么会一直崩溃   Java继承;将子类传递给超类的抽象方法   java从没有if语句的数组中获取instanceof type   java中使用对象的温度转换   存储库接口的JavaSpringDataMongoDBeanXML配置   java JAXWS为iBM websphere、iBM web服务客户端添加寻址   数组试图返回Java中两个对象的面积之和   apache Spark java:columnNameOfCorruptRecord和badRecordsPath在加载csv时不工作   java无法创建。txt文件   java Hibernate与MySQL插入查询不一致   不考虑java Hazelcast分布式地图的最大大小   bash Java如何在父进程中设置环境变量