Значки, редактируемые в Visual Studio, но в других редакторах отображаются пустыми - PullRequest
0 голосов
/ 30 марта 2012

Странно, это. Проект, над которым я работаю, включает в себя несколько небольших значков (тип файла .ico) в файле ресурсов Windows (.rc), все черные 10x10 на прозрачном.

Правильное открытие этих значков в Visual Studio 2010 приводит к открытию редактора значков, показывающего значок в розово-лососевых и зеленовато-коричневых тонах. Свойства значка в VS показывают его как «10x10, 4 бит, BMP». Приложение, которое включает в себя значки, отображает их отлично.

Однако я не могу просматривать или редактировать их во внешних редакторах! В Windows 7 в виде эскизов проводника отображается пустой белый; MS Paint также загружает их в виде пустых белых изображений 10x10. Paint.Net (с плагином .ico ) считает, что это прозрачные изображения 10x10. Свойства файла Windows сообщают о них как о 10x10, 32-разрядных значках.

Что происходит?

1 Ответ

1 голос
/ 30 марта 2012

Значок содержит 3 различных растровых изображения.Два монохромных и, в вашем случае, растровое изображение 4bpp.Монохромные растровые изображения определяют, как отображаются пиксели.Один из них определяет, является ли пиксель прозрачным, он отображается зеленым цветом в редакторе значков.Другой определяет, является ли пиксель на самом деле инвертированным фоновым пикселем, он отображается как розовый лосось в редакторе значков.

Так что если вы видите только тил и розовый, то ваше растровое изображение 4bpp вообще ничего не вносит ввидимый значок.Любое другое средство просмотра значков, которое вы используете для просмотра значка, отключается этим.Что не редкость, инвертирование фоновых пикселей имело смысл только в первые дни Windows, когда дисплеи имели очень ограниченное количество цветов.Например, 4bpp.

Исправьте это, используя реальные цвета в растровом изображении 4bpp.Или не беспокойтесь об этом, если вы всегда отображаете значок на хорошо известном фоне.Что не является типичным для пользователя, например, пользователь может изменить настройку цветовой схемы для строки заголовка окна.Или измените изображение обоев для рабочего стола.В результате цвет значка будет довольно случайным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...