jMonkey 是否支持 96x96 .ico 资产?

Does jMonkey support 96x96 .ico assets?

总结

一个 Java 应用程序使用 jMonkey 进行渲染。此应用程序在查看模式下加载自定义图标。使用中的图标是 32x32 并且像这样加载,因为它是一个光标:

JmeCursor cursor = (JmeCursor) Services.getAssetManager().loadAsset( "/path/someIcon.ico" );

其中 Services 只是一些不相关的 class 来检索 jMonkey AssetManager

我了解了典型的 .ico 尺寸,其中之一似乎是 96x96。然而,当尝试使用上面的代码片段将 96x96 .ico 文件作为资产加载时,我 运行 进入 jMonkey 无法加载资产,即使根据调试器输出确实找到了资源。

当使用调试器检查时,我可以跟随加载过程进入 DesktopAssetManager#loadAsset,直到它深入到我看不到的 classes,然后 Throwable 没有有用的堆栈跟踪、消息或其他信息显示。当我切换到任何其他 32x32 .ico 文件时,一切正常。

问题

追逐权:

jMonkey 是否能够通过 loadAsset 加载 96x96 .ico 文件作为资产?

是的。我使用以下 imagemagick 命令创建了一个 .ico(并添加了一个 96x96 选项):

convert image.png  -bordercolor white -border 0 \
      \( -clone 0 -resize 16x16 \) \
      \( -clone 0 -resize 32x32 \) \
      \( -clone 0 -resize 48x48 \) \
      \( -clone 0 -resize 64x64 \) \
      \( -clone 0 -resize 96x96 \) \
      -delete 0 -alpha off -colors 256 favicon.ico

来源:https://unix.stackexchange.com/questions/89275/how-to-create-ico-file-with-more-than-one-image/89276#89276

ImageMagick: https://imagemagick.org/

使用 assetManager.loadAsset()

加载没有问题