Как сделать значок, совместимый с Vista / 7 и XP? - PullRequest
1 голос
/ 20 февраля 2011

Есть ли способ создать файл значков, который включает в себя собственную копию .PNG в высоком разрешении, для использования с Windows 7 и Vista, но также включает в себя формат .ico старой школы, чтобы он работал с XP?

Недавно у меня возникла проблема с программой, которую я написал сбоем всякий раз, когда она запускалась на компьютере с XP, вызванным тем, что значок приложения был .PNG.Поскольку Vista и 7 поддерживают значки с более высоким разрешением, которые могут иметь прозрачные пленки и тому подобное, я бы хотел использовать это, но мне также нужна программа для запуска на XP, поэтому мне нужно, чтобы она включала также .ico.

Я могу придумать два решения для этого:

  1. Установите программу так, чтобы она обнаруживала операционную систему и назначала соответствующий значок соответственно

  2. Возможно, существует способ скомпилировать файл значков, чтобы он включал в себя формат .png, и Win7 / Vista автоматически использует его, когда он доступен, и Windows XP просто загружает .ico

Надеюсь, я достаточно ясно объяснил ..:)

  • Среда разработки: Visual Studio 2010
  • Операционная система: Windows 7 Ultimate
  • Язык: C #.NET 4.0

1 Ответ

2 голосов
/ 20 февраля 2011

Что именно вы подразумеваете под значком png?

Иконки в XP поддерживают альфа-прозрачность, но они хранятся не в формате png, а в 32-битной битовой карте ARGB.

В Vista добавлена ​​поддержка хранения изображений png внутри значков, но мне неясно, говорите ли вы об этом или просто .png, переименованный в .ico

Не должно быть проблем с правильным файлом .ico, в который встроены изображения .png в XP (однако XP будет игнорировать их, поэтому вы должны использовать только формат png для изображения 256x256), возможно, вам следует попробовать другой значок редактор: IcoFX и Greenfish Icon Editor оба бесплатны

...