有没有办法在 GIMP 中将精灵 sheet 切割成单独的图像?

Is there a way to cut a sprite sheet into individual images in GIMP?

我正在使用精灵 sheet,我想为每一帧生成单独的图像,希望使用一些方便的命名约定。

我设置了图像网格,使每个单独的帧都在网格的矩形中,我希望 GIMP 可以使用此间距和偏移量自动生成文件列表,并在行后命名图像以及它们所在的列。但是,如果我有文件列表,使用简单的脚本正确命名它们将是微不足道的,因此文件的命名只是一个方便的补充。

我目前正在使用裁剪工具手动裁剪每一帧,然后将其导出为 PNG,重新加载 sheet 文件并重复。由于我将使用大量精灵来执行此操作,每个精灵的帧数都比我目前使用的多得多,因此这种方法很快就会变得不可持续。

ofn-tiles script 会这样做,但它不考虑间距。

要删除间距,您可以使用 ofn-shred-layer scriptunshred 函数,一次垂直,一次水平(注意:您给它的宽度是条带的宽度,而不是瓷砖的宽度)。

GIMP 附带的 "py-slice" 插件具有类似的功能,尽管它依赖于图像指南 - https://gitlab.gnome.org/GNOME/gimp/blob/master/plug-ins/pygimp/plug-ins/py-slice.py

更改该脚本以使用固定大小的矩形和内部填充而不是从手动定位的参考线创建矩形应该相对容易。

特别是,在第 90-127 行以及 none 的水平和垂直参考线上交互的 for 循环中几乎不需要任何代码HTML 生成东西 -

相反,添加 "sprite width, height, internal paddings" 作为输入,并迭代矩形 - 并更改 "register" 调用中的一些参数,以便您的文件将自身注册为另一个插件,而不是现有的一。