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
ImageMagick: https://imagemagick.org/
使用 assetManager.loadAsset()
加载没有问题
总结
一个 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
ImageMagick: https://imagemagick.org/
使用 assetManager.loadAsset()
加载没有问题