Не удается загрузить изображение на Android 4.1.1 в Monogame
Это меня немного озадачило! У меня есть 1 текстура в моем проекте, который не загружается. Я использую Monogame 3.2 и конвейер контента XNA. Эта проблема появилась только тогда, когда я запустил свою игру на эмуляторе Motorola Droid Razr (Android 4.1.1). Отлично работает на эмуляторе Galaxy S4 (Android 4.4). (это только две версии, которые я пробовал)
Изображение в вопросе:
Я получаю обычную ошибку контента:
Microsoft.Xna.Framework.Content.ContentLoadException: не удалось загрузить ресурс Sprites\UI\InGame\winner01_black как файл без содержимого! ---> System.Exception: Ошибка открытия потока.
Каждая другая текстура в игре загружается нормально, поэтому я предположил, что сделал с этой конкретной текстурой что-то глупое, но все стало очень странно, когда я попытался сузить ее.
Вот что я попробовал и результаты:
1) Перезаписать поврежденный PNG с помощью известного мне PNG (для проверки пути и прочего), запустить его через Content Pipeline и загрузить в игру. РАБОТАЕТ
2) Восстановление испорченной текстуры из Gimp/Paint.NET (на случай, если у меня были какие-то плохие настройки или что-то в этом роде), запуск ее через Content Pipeline и загрузка ее в игру BROKEN
3) В Gimp скопируйте и вставьте испорченное изображение в совершенно новый файл, сохраните этот новый файл, пропустите его через конвейер содержимого и загрузите в игру. СЛОМЛЕННОЕ
4) Произвели некоторые произвольные изменения в сломанном изображении (нарисовав все линии - см. Изображение ниже), повторно сохраните его, пропустите через конвейер содержимого и загрузите в игру. РАБОТАЕТ
5) Затем я внес несколько незначительных изменений в сломанное изображение (добавив один красный пиксель), провел его через конвейер содержимого и загрузил его в игру. СЛОМЛЕННОЕ
6) Восстановите поврежденный PNG как TGA, запустите его через Content Pipeline и загрузите в игру. СЛОМЛЕННОЕ
На данный момент мне кажется, что конвейер содержимого должен выполнять какую-то оптимизацию изображения (кто-то предлагал, возможно, превратить его в небрежный поиск, поскольку цветов так мало, и объяснил, почему работает #4).
Я поместил здесь две версии PNG (и получившийся XNB), надеясь, что кто-то сможет сказать мне, что может привести к тому, что одна из них не загрузится, а другая сработает!
https://www.dropbox.com/sh/vqegeozqf6hv2uz/AACVoj6sEzFVW-PI6lgwdvzAa?dl=0
1 ответ
В итоге я просто уменьшил изображение, чтобы удалить большую часть пустой области (где альфа = 0), и это как-то решило проблему для меня. Я подозреваю, что конвейер контента обрабатывал изображение по-разному, когда было много пустого пространства.