Всем доброго времени суток!
В связи с часто поступающими к нам вопросами на эту тему, я решил написать небольшой
FAQ по созданию и редактированию тем для Symbian. Это довольно объемная тема, и с первого раза всю её охватить невозможно, поэтому она будет постепенно дополняться новыми материалами. Создание тем - это очень творческий и увлекательный, на мой взгляд, процесс, поэтому я решил поделиться тем, с какой стороны к нему лучше подойти.
Для
создания тем с нуля необходимо будет освоить программу
Carbide.ui Symbian Theme Edition, что заслуживает отдельного разговора, поскольку программа далеко не тривиальна, и при знакомстве с ней возникает масса вопросов. Позже эта тема обязательно будет затронута, а пока мы начнем с более простой вещи, такой как
редактирование уже готовых тем на свой "вкус и цвет".
Внимание: я НЕ призываю вас нарушать чьи-либо авторские права, а просто делюсь знаниями, дабы вы могли использовать их в мирных целях!
Итак, что нам для этого понадобится:
-
SISContents (программа для редактирования тем);
-
TMGSwitcher (программа для полной или частичной смены иконпака);
-
SVGb to SVG Converter (утилита для конвертирования изображений формата .svgb в .svg);
-
AppUIDViewer (приложение для поиска UID различных приложений);
-
Carbide.ui Symbian Theme Edition, которую вы можете
бесплатно скачать с
сайта производителя;
- редактор растровой графики, например,
Adobe Photoshop (на данным момент актуальна версия CS5);
- редактор векторной графики, например,
Adobe Illustrator (я лично пользуюсь
CorelDRAW X5);
Не обязательно сразу кидаться и качать всё из этого списка, т.к. он условный и зависит от того, какие цели вы преследуете. Например, для смены фона вам понадобится только
SISContents и любой графический редактор, такой как стандартный
Paint (при условии, что фон у вас уже есть и не нуждается в серьезной обработке), но об этом чуть позже...
Описание программ:Программа
SISContents бесплатная и к тому же не требует установки. В принципе, она довольно простая, и научиться пользоваться ею не должно составить у вас проблем. Описывать каждую кнопку и пункт меню не вижу смысла, но объясню всё необходимое для работы с программой на примере редактирования тем.
Вот так выглядит программа при открытии темы с её помощью. По умолчанию открывается раздел с Общей информацией, которую вы можете изменить по своему усмотрению.
Единственное, что хотел бы отметить: на данном этапе изменять UID пакета и Тип установки лучше не стоит; имя пакета - это название темы после её установки; поддержка устройства - список версий Symbian, которые будут поддерживать установку данной темы (если устанавливать тему на телефон, не поддерживающий её, будет задан дополнительный вопрос, и установку можно продолжить на свой страх и риск:
очень не рекомендую устанавливать темы от symbian^3 на телефон с symbian 9.4!!!! несмотря на то, что обратная операция вполне нормальна).
Для редактирования темы перейдем на панели инструментов в раздел "Содержимое пакета".
Лично я за весь период своей практики с этой программой, учитывая реальную пользу, обходился редактированием лишь одного файла
themepackage.skn (это название пакета по умолчанию, некоторые темостроители меняют его на название, близкое к названию темы, поэтому ищем в списке файл с расширением
.skn). В нем есть доступ ко всем необходимым нам ресурсам (фонам, иконкам, цветам и т.д.). Открыть его можно, используя кнопку "Просмотр", либо двойным нажатием ЛКМ.
После любого редактирования темы действующий сертификат слетает. Поэтому не забывайте перед сохранением перейти в раздел "Подписать пакет" (кнопка Sign), выбрать профиль подписывания и нажать кнопку "Добавить подпись".
Также следует упомянуть, что программа позволяет загружать только два формата изображений: растровый (
.bmp) и векторный (
.svg).
TMGswitcher также является бесплатной и не нуждается в установке. Это самая простая в использовании программа из описанных в данной статье.
- Source theme - путь к источнику, т. е. теме, из которой мы хотим взять иконпак.
- Target theme - путь к приёмнику, т. е. теме, в которой необходимо заменить иконпак.
- Apply graphics - группы иконок, которые будут заменены.
- Remove original icons - удаление имеющихся иконок в теме-приёмнике (если убрать эту опцию, то оба иконпака объединятся с заменой).
После того, как все настройки выставлены, нажимаем кнопку "Start" и ждем несколько секунд, пока не появится новый файл в папке с темой-приёмником с тем же названием. В этой же папке будет создан backup-файл с расширением
bkp.
SVGb to SVG Converter - это, как уже было отмечено ранее, утилита для конвертирования изображений формата .svgb в .svg. Она может понадобиться при извлечении изображений из темы, так как этот формат не известен обычным средствам просмотра и редакторам изображений.
Для использования конвертера просто запускаем его, нажимаем на кнопку "Convert files", выбираем файлы, которые необходимо конвертировать, и нажимаем "Открыть".
При успешном конвертировании новые файлы будут созданы в той же папке, где находятся оригиналы.
Это приложение для смартфонов на базе ОС Symbian 9.4 и Symbian^3, которое показывает полный список всех установленных приложений и их UID'ов. Просто устанавливаете это приложение, запускаете, открываете функции и выбираете "Показать UID".
Приложение не подписано, поэтому установится только на смартфон, взломанный одним их этих способов:
способ 1,
способ 2.
Программа дает возможность создания тем для различных версий Symbian
с нуля. Это значит, что открыть тему формата .sis или .sisx с её помощью вы не сможете. Однако существует множество тем-шаблонов, которые представляют собой готовые пакеты формата .tdf и .tpf и могут быть использованы для создания собственных тем на их основе, либо в качестве источника ресурсов.
Как я уже отметил, описание работы с этой программой довольно масштабная тема, которая будет рассмотрена в ближайшем будущем. Её внешний вид вы можете оценить по скриншоту ниже.
Единственное, что я пока могу посоветовать, это использовать программу как помощник при редактировании тем в SISContents. Через Карбиду очень удобно искать наименования, геометрические размеры и другие параметры различных ресурсов: достаточно создать новую тему (к ней автоматически применяется стандартный готовый шаблон), либо открыть имеющийся шаблон и, найдя визуально нужный элемент в дизайнере, выбрать его, нажатием ЛКМ.
Официального русификатора для Карбиды нет и не будет, насколько я знаю.Что касается выбора и использования графических редакторов, могу сказать одно: если вы задумали сделать красивую и качественную тему, то без них вы не сможете обойтись. Photoshop отлично подойдет для обработки фонов темы, а Illustrator (или же CorelDRAW) для работы с иконками. Объяснять, как работать с графикой, в рамках данной статьи я, конечно же, не буду. На просторах интернета множество мануалов, в том числе и видеокурсов, могу только посоветовать не пытаться узнать всё сразу, а просто начать работу и разбираться с каждым возникающим вопросом по отдельности.
Часто задаваемые вопросы:Для этого воспользуемся программой
SISContents и предположим, что фон полностью готов.
Открываем с её помощью тему, переходим на вкладку "Содержимое пакета", два раза жмем ЛКМ по файлу с расширением .skn, в открывшемся окне переходим на вкладку "Ресурсы" и ищем в списке 2 файла: Background и Idle Background.
Background это фон главного меню темы, а Idle Background это фон главного экрана (т.е. стандартные обои темы). Для замены нужного фона выбираем его в списке и нажимаем надпись "Редактировать элемент".
Указываем путь к новому фону и жмем кнопку "Ок".
Всё довольно просто.
1. Воспользовавшись программой SISContents, находим файлы Background и Idle Background (см. ответ на вопрос "Как сменить фон").
2. Выбираем файл в списке нажатием ЛКМ и нажимаем надпись "Редактировать элемент".
3. Устанавливаем флажок "Сохранить пропорции" и нажимаем кнопку "Ок".
Во-первых, хотелось бы сразу прояснить: "правильно" это в моём личном понимании, ко всему описанному ниже я пришел сам в ходе работы с различными темами. Я ни на чем не настаиваю, т.к. сейчас модно гоняться не за качеством тем, а за их малым весом... Нетрудно догадаться, что чем выше разрешение у формата bmp (поддерживается только данный формат растровой графики), тем тяжелее будет тема, так что в ваших силах найти компромисс.
Во-вторых, позже я расскажу про метод уменьшения веса изображения, которым со мной поделилась
Galina53, основанный на векторизации растрового изображения.
Итак, нам понадобится любой редактор растровой графики (я использую фотошоп, но для простой обработки подойдет и пейнт). Конкретные числа я подбирал для своего Nokia 5800, поэтому я буду отталкиваться от разрешения 360х640.
Самый главный момент: изображение всегда растягивается/сжимается по большей стороне телефона (в моем случае 640 пикселей), остальная часть картинки как правило обрезается, причем положение самой картинки относительно земли не меняется! Допустим, мы взяли изображение
360х640 (самый простой и легкий вариант) и держим телефон в вертикальном положении (пусть это будет исходное положение), тогда при повороте экрана та сторона, которая изначально была меньшей (360 в нашем случае), будет вынуждена растянуться до размеров большей стороны телефона (т.е. 640 в горизонтальном положении), а изначально большая сторона изображения (640 в нашем случае), будет обрезана меньшей стороной телефона (т.е. 360). В результате мы получим картинку, симметрично обрезанную сверху и снизу и растянутую почти вдвое (отсюда и качество в 2 раза хуже, и картинка не понятная: например, от человека, стоящего в полный рост, после поворота останется только живот). Вот пример:
Если мы решили как-то избавляться от этой ситуации, то я предлагаю такой вариант (наверное, самый компромиссный): берем картинку и пытаемся сделать её разрешение
640х640, причем так, чтобы главный объект изображения (машина, животное, дом и т.д.) был в центре изображения и умещался в области 360х360. При таком раскладе, как бы вы не вертели телефон, изображение всегда будет обрезаться по бокам меньшей стороной телефона 360, но главный объект будет не затронут и всегда в полном размере умещаться в телефоне. Единственный минус, это сложность подбора изображения: подойдет далеко не для каждой картинки... к примеру, человека придется делать слишком маленьким и он таким и останется при любом положении телефона. Пример:
И наконец, третий вариант: самый суровый, т.к. разрешение придется использовать в разы выше, и соответственно весить тема будет больше. Суть следующая: подобрать ширину и высоту изображения надо так, чтобы при повороте телефона в горизонтальное положение картинка не обрезалась сверху и снизу, а оставалась в оригинальном размере, просто в уменьшенном. Тогда получится, что, например, человек, стоящий в полный рост, в вертикальном положении, после поворота также и останется видным в полный рост без обрезки.
Кому не интересна матчасть, могут просто взять разрешение 1280х720 и дальше, в принципе, не читать...Для остальных: сначала разберемся с
высотой. Я отталкивался от того, что в горизонтальном положении телефона необходимо разрешение как минимум 360... Но тогда при повороте в вертикальное эти 360 пикселей растянутся в 640 (большая сторона телефона в вертикальном положении), что нам не подходит. Поэтому я решил взять размер в 2 раза больший (пропорционально 360, и чтобы цифры были более круглыми и запоминающимися): в итоге получаем
2*360=720 (что нас полностью устраивает, т.к. при повороте в вертикальное положение высота картинки 720 лишь немного сожмется до высоты телефона 640, и мы от этого особо ничего не потеряем).
Далее вычисляем ширину: т.к. в горизонтальном положении идеальная картинка была бы разрешением 640х360 (ничего не обрезается и не сжимается), то нам необходимо сохранить эти пропорции!
360/640=0,5625 - это наш коэффициент, показывающий отношение сторон телефона. С учетом того, что выше мы рассчитали необходимую высоту
720, получаем ширину
720/0,5625=1280.
Таким образом, у нас получилось разрешение 1280х720, при этом главный объект может быть расположен на всю высоту и в середине по ширине, т.е. в области 360х640 (как наше искомое разрешение телефона).Естественно, используя формулы выше, можно подобрать и другие разрешения - главное сохранить пропорции. Вот пример темы, которую я сделал по своим вычислениям:
Исходное изображение:
Полученное после обработки изображение:
Надеюсь, объяснил доступным языком. Не забывайте ставить галочку
"Сохранить пропорции" при загрузке фона через SISContents, и удачи в этом нелегком творческом процессе! :)
Я разделяю 2 варианта развития событий:
- мы хотим полностью перекинуть иконпак с одной темы на другую.Для этого нам понадобится программа
TMGswitcher. Она довольно простая, описание читайте выше.
- мы хотим либо добавить новые недостающие иконки, либо заменить отдельные иконки.Для этого воспользуемся программой
SISContents.
Открываем с её помощью тему, переходим на вкладку "Содержимое пакета", два раза жмем ЛКМ по файлу с расширением .skn, в открывшемся окне переходим на вкладку "Иконки приложений". Далее в зависимости от вашей цели заменяем/удаляем/добавляем иконки.
На примере
добавления:
1. жмем на строчку "Добавить иконку приложения".
2. в открывшемся окне жмем "Выбрать из списка" и, пользуясь полем для поиска, ищем необходимый нам UID по названию, выбираем его.
Обычно я использую этот метод для добавления недостающих иконок Maps и Ovi store (найти их наименования было нетрудно, т.к. они "говорящие"). Наименования других иконок можно, например, попробовать поискать в Карбиде, либо напрямую найти их UID, используя приложение
AppUIDViewer (читайте описание приложения выше).
Чтобы извлечь иконку, необходимо сначала выбрать её в списке нажатием ЛКМ (обязательно), а только затем открыть контекстное меню нажатием ПКМ и выбрать пункт "Извлечь изображение".
3. Нажимаем "Ок".
Аналогичным способом можно
заменить имеющуюся иконку. В данном случае поле UID заполняется автоматически, и остается только указать путь к новой иконке. А с удалением, думаю, проблем не возникнет.
Учтите, что темостроители зачастую ругаются и обижаются, когда видят в других темах иконки, созданные своими руками. Поэтому данный момент в идеале лучше заранее обговаривать с автором темы! (
Не путайте автора темы и автора новости, т.к. у нас на сайте они далеко не всегда совпадают).
Я не уверен, что такая программа существует вообще, т.к. Гугл в своё время не поведал мне эту тайну, но есть небольшой конвертер этого формата в формат .svg - это известный формат векторных изображений, который читается любым редактором векторной графики (CorelDRAW, например).
О том, как пользоваться утилитой SVGb to SVG Converter, читайте выше в описании программ.
В качественных темах при открытии каких-либо функций или появлении всплывающих окон (например, уведомление об успешном удалении файла) задний фон затемняется определенным цветом, но при этом остается прозрачным.
Если же при создании темы цветовая схема была составлена неверно, то вместо затемненного прозрачного фона вы увидите монотонный цвет.
Для добавления прозрачности необходимо открыть тему в программе
SISContents.
1. Переходим на вкладку "Содержимое пакета", два раза жмем ЛКМ по файлу с расширением
.skn, в открывшемся окне переходим на вкладку "Цвета".
2. В строке поиска пишем слово "map", и в результате должны отобразиться две цветовые схемы, как показано на рисунке.
3. Нажимаем кнопку "Изменить цвет" и выбираем абсолютно черный для Fade black map и белый для Fade white map (
для этих цветовых схем цвета должны быть обязательно черным и белым!).
4. Далее ищем другую цветовую схему, введя в строку поиска слово "screen".
Этот цвет уже можно выбрать по вашему желанию, но обратите внимание: чем светлее цвет, тем больше будет прозрачность.
Если какой-либо из этих трёх цветовых схем нету в списке, то добавьте её вручную, воспользовавшись задачей "Добавить цветовую схему".
* Используемые сокращения: ЛКМ - левая кнопка мыши, ПКМ - правая кнопка мыши, Карбида - Carbide.ui Symbian Theme Edition, TMGswitcher - Theme Graphics Switcher[30.01.2012] - добавлено описание подбора правильного разрешения для фона
[31.01.2012] - заменена программа SVGb to SVG Converter и добавлено описание к ней
[31.01.2012] - добавлено приложение AppUIDViewer v1.0 с описанием
Отдельная благодарность Евгению (
kosterok7) и Галине (
Galina53) за помощь в освоении этой нелегкой темы! А также Максиму (
MegaRoks) за помощь в обновлении и дополнении статьи.
Все вопросы и пожелания можете оставлять в комментариях к теме.
При размещении данной статьи на других ресурсах убедительная просьба сохранять ссылку на первоисточник!
http://all-for-nokia.com/