Вот создам себе значок!

Значки (Icons) - это небольшие изображения, которые используются в операционных системах для мнемонического отображения объектов в файловой системе. Их можно увидеть на рабочем столе Windows, в меню и на кнопках панели задач, в системном лотке, в Windows Explorer или других менеджерах файлов. Благодаря образному представлению файлов в виде значков легче ориентироваться в обширных списках, быстро находя нужный объект.

Несмотря на то, что многие программисты (и не только они) называют значки иконками (по транскрипции соответствующего англоязычного термина), я буду использовать термин "значок" или английский термин "Icon". В свое время, после появления русскоязычной версии Windows`95, мне бросилось в глаза то, что в ней используется термин "значок". Дело в том, что слово "иконка" (небольшая икона) имеет вполне определенный смысл, связанный с многовековой историей христианства на Руси. Видимо, Microsoft использовала термин "значок", стремясь уважительно относиться к чувствам каждого пользователя, в данном случае, русскоязычного.

Значки назначаются файлам определенного типа, программам, позволяя легко найти их визуально как среди списка файлов, так и на панели задач. Они являются мини-логотипами того или иного приложения. Поэтому производители уделяют пристальное внимание этому небольшому (по внешним размерам) объекту, который является вместе с тем лицом программы перед ее запуском.

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

Как это все выглядит технически? Для значков приложений, типов файлов традиционно используются изображения в формате Icon (ICO), поскольку необходимо обеспечить взаимодействие с системой. На панелях инструментов и в меню часто используются также изображения в формате Windows Bitmap (BMP).

Подробно рассматривать структуру каждого типа файла для решения задачи создания значка не имеет смысла. Следует, однако, кое-что сказать о формате Icon, поскольку это как раз имеет значение для достижения цели корректного отображения значка. Файл формата Icon - это контейнер, в котором может находиться один и более значков разного размера и цветности. Стандартными являются размеры 16х16, 32х32, 48х48, 64х64 пикселов, цветность 16, 256, 24 bit, 32 bit.

Если разработчик включает в ресурсы своего приложения значок одного формата, то при работе его приложения при разных настройках Windows и ситуациях прорисовки значка (количество цветов, размеры значков в системе по умолчанию, прорисовка в заголовке окна, на панели задач) операционная система масштабирует одно изображение до нужного в каждый отдельный момент формата и уменьшает его цветность. Если же ресурс Icon включает в себя несколько изображений разных форматов и цветности, то операционная система прежде всего пытается выбрать нужный значок из имеющегося набора, а уж если не найдет, то берет ближайший подходящий и подгоняет к текущей ситуации.

Если нужны подробности, то описание структуры файла ICO (а также многих других) можно найти на сайте www.wotsit.org.

Теперь перейдем непосредственно к процедуре создания значка.

Пользователи, работающие с системами разработки от Borland, знакомы с программой Image Editor, с помощью которой можно создавать и редактировать объекты ресурсов, в том числе и значки. Однако эта полезная утилита не развивается и позволяет создавать файлы в формате ICO только двух размеров - 16х16 и 32х32 с числом цветов 2 и 16, а файлы BMP - не более 256 цветов. Между тем сейчас уже используются значки и других форматов - 48х48, 64х64, а также большей цветности, использующие альфа-канал (прозрачность значка). Особенно это касается последних версий операционных систем. Ну а какой разработчик не хочет, чтобы его программа хорошо смотрелась под любой версией операционки? Посему нужно и значки сделать соответствующие. Как? С помощью разных инструментов, и каждый разработчик имеет свои решения в данной ситуации.

От себя хочу предложить посмотреть в сторону бесплатных инструментов. О том, что это часто не поделки, а вполне качественные продукты, мы уже как-то рассказывали в статье "FreeWare как метод продвижения" ("КВ" №9'2003). Речь идет о программе AWIcons (www.awicons.com), на момент написания этого материала имеющей бесплатную лицензию для exUSSR-пользователей. Она уже упоминалась как-то на страницах газеты ("КВ" №7'2003). Существует и более продвинутая версия AWIcons Pro, которая также была бесплатна для жителей exUSSR, однако более чем полгода назад стала платной для всех. Эта программа позволяет работать со значками, битмапами, курсорами (в том числе анимированными) и библиотеками значков.

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

Удобен сам подход работы с "контейнером изображений", даже если нужно получить отдельные значки - например, для кнопок. В процессе работы каждое изображение контейнера можно дублировать, клонировать с разными разрешениями/цветностью - все это без необходимости множить файлы. Достаточно нажать правой кнопкой мыши над списком изображений и выбрать нужный пункт из меню. Помоделировав и создав базу для выбора, можно отобрать и сохранить лучшие значки.

Традиционная попиксельная работа поддерживается привычным набором средств. Когда изображение более-менее готово, стоит посмотреть в сторону меню "Эффекты", которое содержит средства для работы с изображением в целом (особенно это касается работы над изображениями с альфа-каналом). С помощью средства "Оттенок-яркость-цветность" легко получить пакет одинаковых значков разного цвета (серые оттенки при этом остаются неизменными). Для наложения цветного "фильтра" можно использовать средство "Расцветка". Средство "Непрозрачность" позволяет изменять прозрачность всего изображения в ту или иную сторону. С помощью средств "Тень" и "Выпуклость" можно создать именно то, что они и предлагают, альфа-канал прилагается. "Размывка" поможет изображение размыть, а "Произвольная размывка" - размыть в соответствии с матрицей размытия (3х3), которую можно задать. "Произвольный поворот" позволяет повернуть изображение с применением сглаживания или без него.

В ряде случаев может оказаться удобным инструмент "Снимок с экрана", который позволяет моментально поместить любую видимую часть экрана в редактируемый значок (естественно, равную размерам редактируемого значка). Удобно реализован поиск изображения: нужно выбрать назначение поиска - папку, диск или целиком компьютер - и запустить сканирование, которое производится опционально рекурсивно по всем подчиненным папкам. Результаты поиска отображаются в масштабе 1:1. Крупные изображения игнорируются. О прочих удобствах можно прочитать в разделе справки "Советы и приемы" (справка имеется также на сайте).

На мой взгляд, доступных в AWIcons средств немало для бесплатного инструмента, особенно вкупе с ruki.drv:). Так что обратите внимание.

Ну и в заключение следует сказать о наличии в Сети большого количества ресурсов, посвященных изображениям вообще и значкам, в частности. Приведу ссылку на один из таких архивов: www.deviantart.com. Посмотреть там есть на что. Кое-что можно использовать, смотрите, какие права предоставляют лицензии. Остальное можно рассматривать как источник идей - идеи не являются объектом правовой защиты.

Юрий А. СМАНЦЕР,
georgesman@mail.ru

Версия для печатиВерсия для печати

Номер: 

10 за 2004 год

Рубрика: 

Азбука программирования
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!