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

问题描述

总结

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

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

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

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

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

问题

开始追逐:

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

解决方法

是的。我使用以下 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() 加载没有问题

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...