gpt4 book ai didi

java - 从 png Sprite 表中自动查找帧大小

转载 作者:行者123 更新时间:2023-11-30 07:19:27 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
PySide: Separating a spritesheet / Separating an image into contiguous regions of color

给定一个具有透明像素的 .png 图像和单个动画帧的网格(最后一行不需要填满),您将如何自动找到每个单独帧的尺寸,并检测 .png 中有多少帧。 png?

我正在尝试从 Glitch 的创意共享宝库中转换资源转换为我们的内部格式,我在从原始 .png 中分离帧信息时遇到问题。

sample .png, from glitch.com(由 Glitch 根据 http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US 许可发布)

在这种情况下,我可以发现帧是 189 x 230 像素;但是查找这个需要时间,而且有很多图像可以查找。

我想将图像拆分成框架,以便在 Java Swing 桌面应用程序中使用。我可以使用 ImageIO 将图像加载到 BufferedImage 中,并轻松检查像素透明度。只有几种可能的框架尺寸:给定一个 945x690 的框架,如示例所示,并假设最小边为 50px,唯一合理的框架宽度是 5 x 189(正确)、7 x 135 或 9 x 105。

那么,您如何找到帧大小?这不需要非常高效,因为资源转换是一次性问题。伪代码答案很好;我最感兴趣的是算法。

注意: PySide: Separating a spritesheet / Separating an image into contiguous regions of color解释了如何处理非动画 Sprite 表,其中包含不规则大小的图像。我对检测行 x 列感兴趣,这可以用更简单的算法来解决(参见已接受的答案)。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com