Поддерживает ли jMonkey активы .ico размером 96x96?

Резюме

Приложение Java использует jMonkey для рендеринга. Это приложение загружает пользовательский значок в режиме просмотра. Используемый значок имеет размер 32x32 и загружается следующим образом, так как это курсор:

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

Где Services — это просто какой-то нерелевантный класс для получения jMonkey AssetManager.

Я читал о типичных размерах .ico, и один из них, кажется, 96x96. Однако при попытке загрузить файл .ico 96x96 в качестве ресурса с помощью приведенного выше фрагмента кода я столкнулся с тем, что jMonkey не смог загрузить ресурс, хотя, согласно выводам отладчика, ресурс действительно был найден.

При проверке с помощью отладчика я могу следить за процессом загрузки в DesktopAssetManager#loadAsset, пока он не погрузится глубже в классы, которые я не вижу, а затем появится Throwable без полезной трассировки стека, сообщения или другой информации. Когда я переключаюсь на любой другой файл 32x32 .ico, все снова работает нормально.

Вопрос

Право на погоню:

Способен ли jMonkey загружать файлы 96x96 .ico в качестве активов через loadAsset?


person Koenigsberg    schedule 03.02.2021    source источник


Ответы (1)


Да. Я создал .ico с помощью следующей команды imagemagick (и добавил параметр 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/

Он загружается без проблем с помощью assetsManager.loadAsset().

person reden    schedule 08.02.2021
comment
Для дальнейшего понимания - ImageMagick основан на jMonkey? Или как эта команда связана с командой DesktopAssetManager#loadAsset? - person Koenigsberg; 08.02.2021
comment
Это набор инструментов, используемый для обработки изображений. www.imagemagick.org. Я использовал его просто потому, что у меня не было значка 96x96. Я использовал assetsManager.loadAsset, чтобы загрузить его. - person reden; 08.02.2021
comment
Понятно, спасибо. Попробую создать значок таким образом, а затем попытаюсь загрузить его через loadAsset. Сообщит о результатах. - person Koenigsberg; 08.02.2021