有没有办法在 GIMP 中将精灵表切割成单个图像?
Posted
技术标签:
【中文标题】有没有办法在 GIMP 中将精灵表切割成单个图像?【英文标题】:Is there a way to cut a sprite sheet into individual images in GIMP? 【发布时间】:2019-03-05 13:00:39 【问题描述】:我正在使用精灵表,我想为每一帧生成单独的图像,希望使用一些方便的命名约定。
我已经设置了图像网格,以便每个单独的帧都在网格的矩形中,我希望 GIMP 可以使用此间距和偏移量自动生成文件列表,并在行和列之后命名图像他们在里面。但是,如果我有文件列表,使用简单的脚本正确命名它们将是微不足道的,因此文件的命名只是一个方便的添加。
我目前正在使用裁剪工具手动剪切每一帧,然后将其导出为 PNG,重新加载工作表文件并重复。由于我将使用大量 sprite 进行此操作,每个 sprite 的帧数都比我目前使用的要多得多,因此这种方法很快就会变得不可持续。
【问题讨论】:
关于一般使用软件(而不是编程)的问题可能更适合SuperUser。也就是说,谷歌建议使用 Gimp 的Guillotine 命令。如果图像大小相同,您还可以使用 Netpbm 的pnmcut
或 ImageMagick 的 convert
为其编写一个 shell 脚本。
【参考方案1】:
ofn-tiles script 会这样做,但它没有考虑间距。
要删除间距,您可以使用ofn-shred-layer script 的unshred
函数,一次是垂直的,一次是水平的(注意:您给它的是条带的宽度,而不是图块的宽度)。
【讨论】:
【参考方案2】:GIMP 附带的“py-slice”插件具有类似的功能,尽管它依赖于图像指南 - https://gitlab.gnome.org/GNOME/gimp/blob/master/plug-ins/pygimp/plug-ins/py-slice.py
更改该脚本以使用固定大小的矩形和内部填充应该相对容易,而不是从手动定位的指南中创建其矩形。
特别是,您几乎不需要for
循环中的任何代码,这些代码在水平和垂直参考线、第 90-127 行等上进行交互,也不需要任何生成 html 的东西 -
相反,添加“精灵宽度、高度、内部填充”作为输入,并迭代矩形 - 并更改“注册”调用中的一些参数,以便您的文件将自己注册为另一个插件,而不是现有的一。
【讨论】:
以上是关于有没有办法在 GIMP 中将精灵表切割成单个图像?的主要内容,如果未能解决你的问题,请参考以下文章