Проблемы с.NET Image в ListView в приложении WinForms (отображается неправильно)

Я испытываю очень странные проблемы, связанные с изображениями. У меня есть окно настроек, в левой части которого есть ListView, в котором есть различные значки изображений, которые при нажатии обновляют панель вправо для отображения соответствующих элементов - ничего особенного.

Тем не менее, я недавно добавил две дополнительные иконки, но их изображения отображаются неправильно, и я не могу понять, почему. Я пробовал различные форматы изображений (png, jpg, gif, bmp), и ни один из них не отображается правильно. Я попробовал это на другом компьютере, чтобы видеть, была ли это моя установка.NET, но ошибка не исчезла.

Я был бы счастлив, если бы каждое изображение отображалось неправильно, но, к сожалению, это только эти два, и, возможно, любое другое изображение, которое я добавляю сейчас.

У кого-нибудь есть идеи - я все из них...

Вот как это выглядит при запуске...

альтернативный текст

Вот тот же файл ресурсов, что и в Visual Studio...

альтернативный текст

Другой...

альтернативный текст

Другие изображения отображаются абсолютно нормально, например, это...

альтернативный текст

1 ответ

Решение

Это вызвано тем, что ImageList хранит эти изображения. Вы оставили свойству ColorDepth значение по умолчанию, Depth8Bit. Это заставляет Windows преобразовывать эти изображения с высоким содержанием цвета (например, обратите внимание на тонкий градиент в стрелках) в формат пикселей, который может хранить только 256 различных цветов. Это преобразование с потерями и вызывает артефакты.

Измените свойство на Depth32Bit.

Другие вопросы по тегам