Последний представленный компанией Microsoft продукт семейства Windows 2003 - является прямым продолжением Windows 2000. Эта система предназначена, в основном, для серверного, а не для домашнего использования. Но некоторое количество усилий и грамотный тюнинг системы позволят превратить домашний компьютер в стабильный мультимедийный игровой сервер.
Практически ежегодно Microsoft представляет публике новую версию самого популярного своего продукта - операционной системы Windows. По традиции компания обещает, что именно эта, последняя версия наиболее стабильна, надежна и удобна. Все по той же традиции пользователи ждут "улучшений" с изрядной долей пессимизма…
Конечно, идеальной операционной системы не существует, и семейство Windows имеет как плюсы, так минусы. Однако, положа руку на сердце, признаем: прогресс, в первую очередь в стабильности, есть. Кроме того, следует учитывать, что продукцией Microsoft пользуются десятки миллионов пользователей во всем мире - и угадать конфигурацию компьютера, индивидуальные потребности к внешнему оформлению и набору программ просто невозможно. Поэтому, установив Windows на свой ПК, не рассчитывайте, что дальше система будет работать идеально - она будет работать стандартно, в расчете на среднестатистические потребности пользователя.
Семейство Windows 2003 Server (Standard, Enterprise, Web и Datacenter Edition) является прямым продолжением Windows 2000 Server. В отличие от Windows ХР, которая является гибридом Windows Ме и Windows 2000, новая система предназначена, в основном, для серверного, а не для домашнего использования. Соответственно, многие функции, присущие "домашнему" компьютеру… исчезли. Но небольшое количество усилий, грамотный тюнинг системы - и стабильный мультимедийный игровой сервер к вашим услугам!
Установка драйверов
Установка системы практически идентична инсталляции Windows ХР, поэтому не будем на ней останавливаться - основные трудности впереди.
Первое, с чем сталкивается пользователь после установки Windows 2003 Server, это отсутствие драйверов под эту версию Windows. По умолчанию большинство устройств на вашем компьютере будет работать, но… например, видеокарта без 3D-функций в наше время мало кого заинтересует.
Первый делом следует создать нового пользователя. Для этого нажимаем на кнопку Start (Пуск) и выбираем подменю Run (Выполнить). Далее вводим команду lusrmgr.msc - и попадаем в программу User Management (Управление пользователями). Правой клавишей мышки кликаем на папке User (Пользователи) в левой части окна и выбираем меню New User (Новый пользователь). Прописываем имя пользователя и, при желании, пароль. Подтверждаем создание и после этого выбираем - при помощи правой клавиши мыши - Properties (Свойства) нового пользователя. Переходим на вкладку Member of (Участник группы), нажимаем кнопку Add (Добавить), далее Find Now (Найти) и дважды кликаем на Administrators (Администраторы).
Итак, новый пользователь с правами администратора создан, остается перезагрузиться под новым логином.
Кстати, просто так перезагрузить и даже просто выключить компьютер уже не удастся. На экране появится окно, в котором система попросит указать причину перезагрузки/выключения. Зачем это нужно? Отвечать на этот вопрос предоставим компании Microsoft, а сами тем временем зайдем в уже знакомое пусковое меню и в подменю Run… (Выполнить) введем команду mmc. Выбираем меню File (Файл), а в нем Add/Remove Snap-in… (Добавить / Убрать Snap-in…). Далее следуем по пунктам меню: Add, Group Policy Object Editor, Add. После этого нажимаем кнопку Finish (Завершить). Переходим в Local Computer Policy > Computer Configuration > Administrative Templates - и выбираем папку System. Дважды кликаем на Display Shutdown Event Tracker. В появившемся меню выбираем Disabled, нажимаем и выходим из программы. Теперь перезагрузка/выключение компьютера буде проходить аналогично Windows 2000.
После того как система загружена под вновь созданным логином, следует приступить к настройке драйверов. Для этого необходимо зайти в Desktop Properties (Свойства экрана) с помощью Control Panel (Панели управления): Пуск > Панель управления > Display (Экран).
Далее переходим на последнюю вкладку - Advanced (Дополнительно) и нажимаем кнопку Troubleshoot (Неисправности). В появившемся меню передвигаем ползунок Hardware Acceleration (Аппаратное ускорение) максимально вправо. Закрываем окна и устанавливаем драйвера под видеокарту. Теперь система не будет выдавать ошибку о несовпадении версии драйвера и Windows. Кстати, для установки подходят драйверы как Windows ХР, так и Windows 2000.
По умолчанию в Windows 2003 Server установлен DirectX 8.1, но отключена поддержка 3D-функций. Кстати, самой папки DirectX в Programs Files (Программные файлы) нет, поэтому следует ввести команду dxdiag в подменю Run… (Выполнить). Открывается окно DirectX, где на вкладке Display (Экран) необходимо включить (нажать кнопки Enabled) функции аппаратного ускорения.
По мнению специалистов компании Microsoft, для полноценной работы сервера звук не обязателен. Соответственно, звуковые функции вашего компьютера по умолчанию будут отключены. В Панели управления есть вкладка Administrative Tools (Средства администрирования), внутри которой выбираем Services (Службы). В появившемся окне размещен список служб, установленных на ПК. Некоторые из них не включены, в том числе и Windows Audio. Дважды кликаем мышкой - и в появившемся окне, в поле Startup type (Способ загрузки), выбираем Automatic, нажимаем Start (Запустить). При необходимости следует выбрать в Панели управления раздел Sound and Audio Devices (Мультимедийные устройства) и в появившемся окне включить громкость звука (перетащить ползунок в крайнее правое положение).
Изменение внешнего вида
Сразу после установки Windows 2003 Server будет иметь спартанский вид (как Windows 2000). Единственное отличие: стартовое меню, частично схожее с Windows ХР. Это практично, удобно, выгодно с точки зрения экономии ресурсов - в общем, прекрасно подходит для сервера, где вид рабочего стола - далеко не самое главное. Однако на домашнем компьютере хочется видеть нечто более яркое, чем стандартные окна Windows.
Возможность преобразовать внешний вид в стиль Windows ХР есть - хотя и скрыта в недрах системы. В первую очередь необходимо включить службу Themes. Для этого заходим в службы (Control Panel > Administrative Tools > Services) и дважды кликаем на службе Themes. В появившемся окне выбираем тип запуска Automatic (Автоматически) и перезагружаем компьютер. После перезагрузки заходим в свойства экрана, кликнув для этого правой клавишей мыши на рабочем столе и выбрав пункт Properties (Свойства). На вкладке Themes выбираем вместо темы Windows Classic тему Windows XP. Теперь рабочий стол и окна приложений приобретут знакомый стиль Windows ХР.
Кроме того, в свойствах системы (Control Panel > System) на вкладке Advanced в разделе Visual Effects есть возможность дополнительной настройки визуальных эффектов Windows.
Десять шагов к идеальной системе
1. Одно из последних усовершенствований системы - параметр prefetch. Его задача заключается в ускорении загрузки приложений. Включение этого параметра не влияет на скорость слишком ощутимо, однако в бою все средства хороши. Для включения этого параметра кликните правой клавишей мыши на ярлыке нужной программы и выберите в появившемся меню пункт Properties (Свойства). В строке Object (Объект) после указания пути к файлу добавьте /prefetch:1 (пробел перед ключом обязателен).
2. Перейдите к закладке Advanced (Дополнительно) в Performance Options (Параметрах быстродействия) и убедитесь, что распределение ресурсов процессора и памяти выставлено на оптимизацию работы Programs (Программ) - указывать приоритет фоновых служб и кэша необходимо, только если ваш компьютер выполняет роль сервера. В опции Memory usage при объеме физической памяти 256 Мб и выше отметьте параметр System cache. Если же памяти на компьютере меньше 256 Мб, система будет работать быстрее при установленном значении Programs.
3. Проверим правильность настройки жесткого диска. В свойствах системы откройте Device Manager (либо, открыв свойства любого диска в Проводнике, закладка Hardware) и просмотрите свойства вашего жесткого диска. Убедитесь, что в закладке Polices стоит отметка Enable write caching on the disk. Если диск SCSI доступны следующие значения в закладке SCSI Properties: Disable Tagged Queuing и Disable Synchronous Transfers должны быть не отмечены.
4. Убедитесь, что DMA включено для всех IDE-устройств системы. Проверить это можно следующим образом: Device Manager > IDE ATA/ATAPI controllers > Primary/Secondary IDE Channel > Advanced Settings. Параметр Device Type позволяет системе автоматически определять подключенные устройства (если канал свободен, установите значение None - это немного ускорит загрузку системы).
Параметр Transfer mode Windows ставит, как правило, по умолчанию и позволяет Windows использовать максимальный DMA, поддерживаемый устройством либо PIO, убедитесь, что значение установлено DMA if available.
5. Для ускорения навигации по папкам, содержащим графические файлы, можно отметить пункт Do not cash thumbnails (Не кэшировать эскизы). Для этого следует зайти в Control Panel (Панель управления) > Folder Options (Свойства папки) > View (Вид), а заодно убрать "галочку" с пункта Remember each folder`s view setting (Помнить параметры отображения каждой папки).
6. Поиск в Windows 2003 Server по умолчанию производится и в.zip-архивах. Скорость поиска возрастет, если отключить эту службу. Для этого в командной строке необходимо набрать:
Код:
или же:
Код:
Для включения поиска в.zip-архивах:
Код:
или же:
Код:
7. В отличие от более ранних версий Windows, в процессе установки Windows 2003 Server нет возможности выбирать необходимые компоненты. Удалить/установить можно лишь незначительную часть программ (Control Panel > Add or Remove Programs > Add/Remove Windows Components). Список невелик - большая его часть скрыта от глаз неопытного пользователя.
Для решения этой проблемы открываем системную папку Inf (по умолчанию - C:WindowsInf), находим в ней файл sysoc.inf, открываем его и удаляем во всех строках слово HIDE. Главное при этом - оставить неизменным формат файла, то есть следует удалять только HIDE, оставляя запятые до и после этого слова.
Для примера - исходная строка и та, что должна получиться:
Код:
Сохраняем файл sysoc.inf, открываем Add/Remove Windows Components - и видим уже значительно более длинный список.
8. Служба индексирования создает индексы содержимого и свойств документов на локальном жестком диске и на общих сетевых дисках. Имеется возможность контроля за включением сведений в индексы. Служба индексирования работает непрерывно и практически не нуждается в обслуживании. Однако процесс индексирования потребляет большое количество ресурсов процессора. Если вы не пользуетесь активно поиском по контексту файлов, данную службу можно отключить. Для этого заходим в Control Panel (Панель управления) > Add or Remove Programs (Установка и удаление программ) - Add/Remove Windows Components (Установка компонентов Windows). В появившемся списке ищем Службу индексирования и убираем "галочку".
9. Если вам не нравятся "излишества" в новом оформлении XP или конфигурация вашего компьютера не позволяют вам ими наслаждаться, интерфейс можно вернуть к "стандартному" виду. Для этого необходимо зайти в Control Panel (Панель задач) > System (Система) и перейти на вкладку Advanced (Дополнительно). Выбираем раздел настройки визуальных эффектов.
10. Довольно часто у домашнего компьютера только один пользователь, так что необходимости в пароле при запуске системы нет. В отличие от предыдущих версий, в этой Windows 2003 пароль убрать не так-то просто.
В процессе загрузки можно пропустить выбор имени пользователя и набор пароля. Выберите Run… (Выполнить) из меню Start (Пуск) и наберите control userpasswords2, что приведет к открытию окна User Accounts (Учетные записи пользователей). На вкладке Users (Пользователи) удалите флажок у позиции Users must enter a user name and password to use this computer (Требовать ввода имени пользователя и пароля). После подтверждения появится диалоговое окно, в котором система предложит ввести имя пользователя и пароль для нужной учетной записи.
Системы Windows XP имеют в своем составе простейший брандмауэр подключения к Интернету (Internet Connection Firewall, ICF) — программу, позволяющую фильтровать информацию, поступающую из Интернета. Она пропускает только разрешенные ТСР/IР-пакеты и отбрасывает все осталь-ные. Это позволяет оградить компьютер от несанкционированного доступа или атак из Интернета, сохраняя при этом возможность работы с электрон-ной почтой, сетью Веб и т. п.
Брандмауэр должен устанавливаться на подключении, которое непосредственно связано с Интернетом. Например, его рекомендуется ставить на компьютер, имеющий общее подключение к Интернету (Internet Connection Sharing, ICS). (Этого делать не нужно, если в локальной сети уже имеется прокси-сервер или корпоративный брандмауэр.) Включение локального брандмауэра (никакой установки по сути-то и нет) выполняется на вкладке Дополнительно (Advanced) в окне, свойств выбранного подключения (обычно коммутируемого). Достаточно установить флажок Защитить мое подключение к Интернету (Protect my computer and network), и бранд-мауэр начнет работать.
Теперь нужно указать, к каким службам локального компьютера или сети можно обращаться из Интернета. Если подключение используется только для доступа к веб-ресурсам и электронной почте, то после включения брандмауэр уже готов к работе. Однако, если на компьютере разрешены входящие или VPN-подключения, настройка служб необходима. В этом случае система предлагает по умолчанию установки брандмауэра; в данном примере используется обычное коммутируемое подключение через аналоговый модем. Кроме того, при работе программы Windows Messenger в приведенном списке служб автоматически появляются порты TCP и UDP, нужные для ее работы.
Понятно, что если на компьютере или в локальной сети имеется FTP- или WWW-сервер, то нужно отметить эти службы на вкладке Службы (Services), чтобы с ними можно было работать. Выбрав службу и нажав кнопку Изме-нить (Edit), можно попасть в окно настройки ее параметров, где указывается адрес компьютера, на котором служба развернута, и номера используемых портов TCP/IP.
Не рекомендуется ставить брандмауэр на локальных и VPN-подключениях, поскольку это нарушит доступ к общим ресурсам. Особого внимания заслуживает трафик, передающийся по протоколу Internet Control Message Protocol (ICMP). По умолчанию он весь блокируется брандмауэром. Это означает, что, например, ping-запросы к вашему ком-пьютеру будут безрезультатными. Иногда блокировка ICMP может привести к разрыву связи с интернет-провайдером. При необходимости на вкладке ICMP можно разрешить некоторые виды ICMP-сообщений; информацию об используемых запросах следует получить у провайдера, В крайнем случае, можно разрешить все запросы и посмотреть, повлияло ли это на устойчивость связи.
Вся работа брандмауэра регистрируется в журнале, параметры которого задаются на вкладке Ведение журнала безопасности (Security Logging).
Часто программисту приходится сталкиваться с задачей написания приложения, работающего в фоновом режиме и не нуждающегося в месте на Панели задач. Если вы посмотрите на правый нижний угол рабочего стола windows, то наверняка найдете там приложения, для которых эта проблема решена: часы, переключатель раскладок клавиатуры, регулятор громкости и т. п. Ясно, что, как бы вы не увеличивали и не уменьшали формы своего приложения, попасть туда обычным путем не удастся. Способ для этого предоставляет shell api.
Те картинки, которые находятся на system tray — это действительно просто картинки, а не свернутые окна. Они управляются и располагаются панелью system tray. Она же берет на себя еще две функции: показ подсказки для каждого из значков и оповещение приложения, создавшего значок, обо всех перемещениях мыши над ним.
Весь api system tray состоит из 1 (одной) функции:
Код:
Параметр dwmessage определяет одну из операций: nim_add означает добавление значка в область, nim_delete — удаление, nim_modify — изменение.
Ход операции зависит от того, какие поля структуры tnotifyicondata будут заполнены.
Обязательным для заполнения является поле cbsize — там содержится размер структуры. Поле wnd должно содержать дескриптор окна, которое будет оповещаться о событиях, связанных со значком.
Идентификатор сообщения windows, которое вы хотите получать от системы о перемещениях мыши над значком, запишите в поле ucallbackmessage. Если вы хотите, чтобы при этих перемещениях над вашим значком показывалась подсказка, то задайте ее текст в поле sztip. В поле uid задается номер значка — каждое приложение может поместить на system tray сколько угодно значков. Дальнейшие операции вы будете производить, задавая этот номер. Дескриптор помещаемого значка должен быть задан в поле hicon. Здесь вы можете задать значок, связанный с вашим приложением, или загрузить свой — из ресурсов.
Примечание
Изменить главный значок приложения можно в диалоговом окне project/ options на странице application. Он будет доступен через свойство application.icon. Тут же можно отредактировать и строку для подсказки — свойство application.title.
Наконец, в поле uflags вы должны сообщить системе, что именно вы от нее хотите, или, другими словами, какие из полей hicon, ucallbackmessage и sztip вы на самом деле заполнили. В этом поле предусмотрена комбинация трех флагов: nif_icon, nif_message и nif_tip. Вы можете заполнить, скажем, поле sztip, но если вы при этом не установили флаг nif_tip, созданный вами значок не будет иметь строки с подсказкой.
Два приведенных ниже метода иллюстрируют сказанное. Первый из них создает значок на system tray, а второй — уничтожает его.
Код:
Примечание
he забывайте уничтожать созданные вами значки на system tray. Это не делается автоматически даже при закрытии приложения. Значок будет удален только после перезагрузки системы.
Сообщение, задаваемое в поле ucallbackmessage, по сути дела является единственной ниточкой, связывающей вас со значком после его создания. Оно объединяет в себе несколько сообщений. Когда к вам пришло такое сообщение (в примере, рассмотренном выше, оно имеет идентификатор wm_mytraynotify), поля в переданной в обработчик структуре типа tmessage распределены так. Параметр wparam содержит номер значка (тот самый, что задавался в поле uid при его создании), а параметр lparam — идентификатор сообщения от мыши, вроде wm_mousemove, wm_lbuttondown и т. п. К сожалению, остальная информация из этих сообщений теряется.
Координаты мыши в момент события придется узнать, вызвав функцию api getcursorpos:
Код:
Обратите внимание, что при показе всплывающего меню недостаточно просто вызвать метод popup. При этом нужно вынести главную форму приложения на передний план, в противном случае она не получит сообщений от меню.
Теперь решим еще две задачи. Во-первых, как сделать, чтобы приложение минимизировалось не на Панель задач (taskbar), а на system tray? И более того — как сразу запустить его в минимизированном виде, а показывать главную форму только по наступлении определенного события (приходу почты, наступлению определенного времени и т. п.).
Ответ на первый вопрос очевиден. Если минимизировать не только окно главной формы приложения (application.mainform.handle), но и окно приложения (application.handle), то приложение полностью исчезнет "с экранов радаров". В этот самый момент нужно создать значок на панели system tray. В его всплывающем меню должен быть пункт, при выборе которого оба окна восстанавливаются, а значок удаляется.
Чтобы приложение запустилось сразу в минимизированном виде и без главной формы, следует к вышесказанному добавить установку свойства application.showmainform в значение false. Здесь возникает одна сложность — если главная форма создавалась в невидимом состоянии, ее компоненты будут также созданы невидимыми. Поэтому при первом ее показе установим их свойство visible в значение true. Чтобы не повторять это дважды, установим флаг — глобальную переменную shownonce:
Код:
Теперь у вас в руках полноценный набор средств для работы с панелью system tray.
В заключение необходимо добавить, что все описанное реализуется не в операционной системе, а в оболочке ОС — Проводнике (explorer). В принципе, и windows nt 4/2000, и windows 95/98 допускают замену оболочки ОС на другие, например dashboard или lightstep. Там функции панели system tray могут быть не реализованы или реализованы через другие api. Впрочем, случаи замены оболочки достаточно редки.
Убрать значки с "Рабочего стола" и создать ОЧЕНЬ быструю панель можно нажав на "трэе" (там, где часы) правую кнопку мыши. В меню выбрать "Панели инструментов" - поставить галочку "Рабочий стол" (если там такового нет - нажать "создать" и там выбрать "Рабочий стол"). При этом слева от трэя появится оная перемещаемая панелька со стрелкой, разворачивающей всё содержимое "Стола". После этого зайти в свойства экрана, вкладка "Эффекты" и там установить галку "Прятать содержимое стола, если...".
Всё! Вся фишка в том, что:
1. не захламляются ваши обои и
2. (самое главное!) через эту менюшку можно практически мгновенно добраться до ЛЮБОЙ точки вашего компа НЕ ЗАПУСКАЯ ПРИ ЭТОМ ВСЯКИХ "ПРОВОДНИКОВ", "КОММАНДЕРОВ" и т.д., (заодно и ресурсы экономятся!) Попробуйте, не пожалеете!
З.Ы. Для 98 Выньды. Для остальных - не знаю, есть ли там такое... ;)
Если вам надо постоянно обращаться к какому-то элементу Панели управления, то можно создать ярлык на "Рабочем столе" с такой командной строкой: "CONTROL.EXE desk.cpl,,3". Desk.cpl указывает вызываемую функцию "Панели управления". Например, appwiz.cpl откроет окно "Установка и удаления программ", а цифра следующая после двух запятых - номер нужной вкладки, начиная с нуля.
Отключение Error Reporting - навязчивого желания ХР постоянно отсылать сообщения разработчикам по случаю возникновения каждой ошибки (например, зависания того или иного приложения). Эти желания режутся на корню просто, но со вкусом:
В Контрольной Панели выбирается Система (System).
Закладка Advanced, далее - Error Reporting.
Включается опция Disable Error Reporting. Опцию But Notify me When critical errors occur (уведомлять меня о возникновении критических ошибок) я оставил, чтобы не пребывать в неведении по поводу неожиданных сбоев (пока бог миловал).
Для того, чтобы вставить любое слово рядом с часами нужно сделать следующее:
1. Зайти на "Панель управления", затем "Язык и стандарты"
2. Перейти на вкладку "Время"
3. В поле "Формат времени" измените формат на "ЧЧ:мм:сс оо" (оо набирать русскими), в полях обозначения времени до и после полудня введите ваше слово.
После установки Windows можно переместить системную папку "Мои документы" на рабочий диск, предназначенный для хранения всего содеянного пользователем (я обычно присваиваю ему метку тома Documents). Все необходимые изменения в реестре Windows сделает самостоятельно.
Вы пользуетесь пунктом контекстного (всплывающего) меню файла или папки "Отправить"? Если нет, то вы много теряете! Когда вы кликаете правой кнопкой на файле или папке выбираете пункт "Отправить" и там выбираете, куда хотите отправить, то выбранный вами файл копируется (перемещается) в ту папку, которую вы выбрали. Здорово, правда?
Так вот ярлычки для пунктов назначения (папок) хранятся в X:\%windir%\SendTo, т.е. если у вас Windows установлена на диске C, то путь к папке SendTo будет выглядеть так: C:\windows\SendTo. Очень удобно!
Так вот суть этого совета:
1) Вы создаёте ярлык для папки SendTo.
2) Извращаетесь над ним (меняете иконку, переименовываете).
3) Копируете этот ярлык в папку SendTo.
Теперь, когда вы много всего копируете(перемещаете) в определённую папку, то создаёте для неё ярлык и отправляете в Отправить! Очень удобно! Сам испытал!
По сути не совет, а прикол для тех кому понравился вариант использования функции "Послать".
Если вы работаете в Инете, то слово "Послать" у вас ассоциируется с отправкой письма, а если вы к тому же и гражданин бывшего СССР, то и ещё кое с чем 8). Берём, создаём ярлык ссылающийся на корзину и переименовываем его в "На...*". Потом переносим этот ярлык в папку ..windows/SendTo/
Пользуйтесь на здоровье.
---
Сноска * - зависит только от вашей фантазии :)
Создать гиперссылку в Delphi довольно просто. На простом примере разберемся с созданием ссылки в Delphi, а затем оформим все в виде компонента.
Алгоритм создания такой: ставим на форму метку (TLabel), приводим ее внешний вид к привычному нам виду гиперссылки в нашем браузере и пишем обработчик события OnClick.
А чтобы можно было постоянно использовать гиперссылку в программах, мы создадим компонент. Начнем с того, что поставим на форму нашего проекта метку (TLabel), пусть ее имя останется Label1. Теперь мы напишем обработчик события OnClick, для нее:
Теперь поясню что мы здесь написали. Функция ShellExecute предназначена для открытия или печати файла, как исполняемого, так и документа. Первый параметр - это handle родительского окна, второй параметр - строка, указывает, что надо сделать с файлом, третий параметр содержит имя открываемого файла, четвертый параметр указывает дополнительные параметры запуска исполняемого файла, пятый параметр определяет директорию по умолчанию, последний параметр определяет где будет отображен файл после октрытия.
Если Вы уже попробовали запустить приведенный код, то скорее всего у Вас ничего не вышло, потому что функция ShellExecute, находится в модуле ShellAPI, который конечно же надо добавить в секцию uses, кода нашего приложения.
Теперь разберем параметры относительно нашего случая:
handle - это дескриптор главной формы (аналогично Form1.handle)
open - тип действия с файлом. Нам надо его открыть.
http://delphiworld.narod.ru/ - имя файла, который надо открыть. У нас это может быть гиперссылка, содержащая абсолютный URI.
nil - здесь никаких дополнительных параметров открытия файла не должно быть, поэтому nil.
nil - директория по умолчанию нас так же не интересует.
SW_SHOW - активирует окно и отображает его с текущими размерами и положением. Об остальных режимах можно узнать в хелпе (о функции ShellExecute).
Второй и третий параметры функции являются нуль терминированными строками, т.е. строками типа PChar, поэтому для использования в функции имени файла, полученного из OpenDialog1, нужно использовать PChar(OpenDialog1.Filename).
В браузере (при настройках по умолчанию) ссылка меняет цвет в зависимости от своего состояния и действий пользователя, мы тоже сделаем так. Для этого создадим три константы (в них будут определяться цвета), которые надо поместить в раздел Implementation:
Теперь в обработчике события формы OnCreate нужно написать:
В обработчике события метки OnMouseDown мы напишем:
А в обработчике события OnMouseUp нашей метки напишем:
Для придания полной реалистичности нашей ссылке, нужно установить свойство метки Cursor в crHandPoint. При наведении на ссылку указатель будет иметь вид привычной нам кисти руки с вытянутым указательным пальцем и ссылка будет подчеркнутой.
Ну вот и разобрались, а теперь напишем компонент. Там все предельно просто и понятно, поэтому объяснения напишу только в виде комментариев в коде.
В качестве родительского класса (Ancestor Type) мы конечно же должны выбрать TLabel. Привожу полный код модуля компонента Link класса Tlink (текст модуля надо сохранить в файле Link.pas):
Вот мы и разобрались с созданием гиперссылок в Delphi, как оказалось все очень просто.
Часто работая в Фотошоп, приходится выполнять целый ряд постоянно повторяющихся операций. Такие операции выстраиваясь определенным образом, образуют цепочку команд - макропоследовательностей. Чтобы не повторять последовательность одних и тех же команд снова и снова, можно задействовать инструменты автоматизации. Одним из таких инструментов является Actions.
Автоматизация работы в Photoshop.
Часто работая в Фотошоп, приходится выполнять целый ряд постоянно повторяющихся операций. Такие операции выстраиваясь определенным образом, образуют цепочку команд - макропоследовательностей. Чтобы не повторять последовательность одних и тех же команд снова и снова, можно задействовать инструменты автоматизации. Одним из таких инструментов является Actions. Action - это записанный набор команд, которые можно быстро повторить. За такими макропоследовательностями также можно закреплять клавиатурные сокращения, то есть для их выполнения достаточно нажать клавишу или сочетание клавиш.
Для работы с Actions используется одноименная палитра. Чтобы увидеть эту палитру, следует выполнить команду Window>Actions или нажать клавишу F9.
Стандартные Actions
По умолчанию в Photoshop уже есть стандартный набор записанных команд, поэтому списки последовательно выполняющихся команд можно создавать самостоятельно, а можно воспользоваться уже готовыми. Например, используя стандартный макрос для создания виньетки (Vignette), достаточно выделить область на изображении и нажать кнопку его запуска.
Таким образом, все макропоследовательности состоят из команд, которые являются последними ступеньками в раскрывающемся списке.
Для удобства работы, макропоследовательности объединяются в наборы - Sets. Например, можно создать набор, в котором будут собраны макросы для работы с текстом, для создания различных текстур и т.д. По умолчанию в Photoshop есть набор Default Actions.
Палитра Actions содержит наборы различных последовательностей. Чтобы их увидеть, необходимо щелкнуть на треугольнике, расположенном слева от названия набора. После этого перед вами появится список действий, любое из которых может быть выполнено. Если вы хотите увидеть, из каких операций состоят действия, то следует щелкнуть на треугольнике, расположенном слева от них.
Внизу палитры расположены кнопки, позволяющие управлять действиями - создавать новые, запускать и останавливать запись и т.д.
Просмотрите все предлагаемые Actions на изображении с небольшим разрешением (на нем макрокоманды будут выполняться быстрее). После такого просмотра можно сформировать свою палитру, оставив понравившиеся элементы и удалив те, которые вам никогда не пригодятся. Можно также изменить названия, чтобы стало понятнее, где какая возможность скрывается.
Если какое-нибудь действие вам очень понравилось, то посмотрите, как оно было сделано. Для этого следует обратиться к палитре Actions и, раскрыв все списки, просмотреть последовательность выполняемых операций.
Лучше всего не только просмотреть, как выполнялись операции, но и попытаться добиться такого же эффекта, проделав самостоятельно все действия, особенно если вы неопытный пользователь. Это поможет лучше узнать программу, а также ознакомиться с возможностями, которые она предоставляет. Кроме того, в процессе работы можно будет изменить некоторые параметры, подобрав их для конкретного изображения.
Создание собственных макрокоманд
Можно не только пользоваться готовыми макрокомандами, но и создавать свои собственные.
Приведем пример ситуации, в которой они могу оказаться полезными. Предположим, вы хотите выложить фотографии в интернете. Прежде чем публиковать их в сети, нужно выполнить цветокоррекцию и уменьшить размер. Допустим, вы решили делать цветокоррекцию в режиме Lab Color.
Рассмотрим список действий, которые необходимо выполнить с каждым изображением:
1) Выполнить команду Image>Mode>Lab Color, чтобы перевести снимок в цветовое пространство Lab Color.
2) Повысить четкость изображения, для чего нужно перейти на палитру Channels, выделить канал Lightness и применить к нему фильтр Sharpen>Unsharp Mask. Благодаря тому, что фильтр применяется в канале освещенности, можно повысить резкость изображения, не затрагивая цветовую составляющую.
3) Улучшить цвета на изображении, для чего нужно выделить цветовой канал b, вызвать окно редактирования кривых, выполнив команду Image>Adjustments>Curves или же используя сочетание клавиш CTRL+M, и изменить форму кривой. Чем круче график кривой, тем более контрастным становится изображение в канале, и тем более насыщенными становятся цвета на снимке.
4) Выделить цветовой канал a и проделать те же действия с изменением формы кривой.
5) Наконец, нужно изменить размер изображения, используя команду Image>Image Size.
Если после этого отобразить палитру History, можно увидеть, что пришлось выполнить целый ряд команд и действий, чтобы обработать фотографию. Эти действия нужно было бы повторять с каждой следующей фотографией, которую вы хотите выложить в интернете.
Задачу можно существенно упростить, используя Actions. Вернемся к исходному изображению, используя палитру History, и создадим собственный макрос. Сначала создадим новую группу для хранения макросов. Для этого нужно нажать кнопку Create New Set в нижней части палитры Actions.
В окне New Set введим название набора команд. Создадим в новой группе первый макрос, нажав кнопку Create New Action. В появившемся окне New Action выберем название макроса и клавишу, при нажатии которой он будет запускаться, например, F11. Для вызова макропоследовательностей можно использовать клавиши F2-F12, а также их сочетания с клавишами CTRL и Shift.
Для начала записи необходимо нажать кнопку Record в нижней части палитры Actions. Теперь любая команда, выполненная в Photoshop, будет запоминаться до тех пор, пока вы не остановите запись макроса.
Скроем палитру Actions, чтобы она не мешала, и повторим выполненные ранее действия: переведем изображение в Lab Color, увеличим резкость, изменим цветопередачу и уменьшим размер изображения при помощи команды Image Size.
После этого вернемся на палитру Actions и остановим запись, нажав кнопку Stop Playing/Recording. В списке нашего макроса можно увидеть записанную последовательность команд. Также рядом с названием макроса отображается горячая клавиша, которая выбрана для его запуска.
Чтобы проверить действие макроса, вернемся к исходному изображению, используя палитру History, и нажмем горячую клавишу, которую вы выбрали для выполнения макроса. Можно убедиться, что все действия выполняются автоматически и довольно быстро. Макрос также можно запускать, нажимая кнопку Play Selecтion в нижней части палитры Actions, если предварительно выделить его в списке макрокоманд.
Записав макрос, посмотрите, как макрокоманда сработает на другой фотографии. Откройте изображение в Photoshop и снова запустите макрос горячей клавишей. Как вы можете убедиться, макрос работает.
Таким образом, благодаря макросам на подготовку фотографий для публикации в интернете может уходить гораздо меньше времени. Достаточно нажать горячую клавишу - и можно сохранять изображение.
Сохранение макрокоманд
В ряде случаев, например, при переустановке системы или при необходимости использовать созданные ранее макросы на другом компьютере, возникает необходимость сохранить Actions. Такая возможность предусмотрена в Photoshop.
Actions нельзя сохранять по отдельности, только в наборах. Поэтому для сохранения макропоследовательностей выделите на палитре Actions тот набор, в который они входят, после чего нажмите миниатюрную кнопку, расположенную в верхней правой части палитры (под кнопкой для сворачивания палитры) и выберите команду Save Actions. Если при этом будет выделен не набор, а отдельный макрос, эта команда будет неактивна.
Наборы макросов сохраняются в файлы с расширением ATN. Для загрузки сохраненного ранее набора в Photoshop необходимо щелкнуть по той же кнопке на палитре Actions и выбрать команду Load Actions.
Инструмент Batch
В Photoshop есть еще одно средство для автоматизации, которое удобно использовать вместе с Actions. Это - инструмент пакетной обработки Batch. С его помощью можно применить макропоследовательность к группе файлов, даже не открывая их в Photoshop.
Приведем простой пример использования этого инструмента. Предположим, необходимо перед публикацией фотографий в интернете защитить свое авторское право. Для этого можно добавить на фотографии какой-нибудь текст, например, адрес сайта.
Для начала запишем в макрос все действия, которые необходимо выполнить. Создадим новый Action и начнем запись. Макрос будет состоять из трех действий: добавление на изображение текста, сохранение изображения в формате JPEG и закрытие исходного файла. После выполнения этих операций остановим запись макроса.
Выполним команду File>Automate>Batch. В окне Batch необходимо установить настройки пакетной обработки файлов. В разделе Play выбирается группа, в которую сохранен макрос и его название.
В разделе Source необходимо указать путь к папке, содержащей исходные файлы. Если установить флажок Include All Subfolders, то будут обработаны и файлы, которые находятся во вложенных папках.
В разделе Destination устанавливаются параметры сохранения файлов. Если выбрать в этом списке вариант None, то файлы не будут сохраняться автоматически. Вместо этого Photoshop будет выдавать запрос на сохранение каждого файла. При выборе варианта Save and close файлы будут сохранены в ту же папку, где хранятся исходные изображения.
Для того чтобы файлы были автоматически сохранены, нужно выбрать в списке Destination вариант Save and close. При выборе варианта Folder появляется возможность указать папку для сохранения обработанных файлов. Кроме этого, можно переименовать их, используя маску. Название файла может включать исходное имя, представленное строчными или заглавными буквами, дату выполнения операции в разных форматах, порядковый номер, букву алфавита, расширение.
Флажок Override Action Save As Commands нужно использовать осторожно. Если он установлен, то файлы будут сохранены только в том случае, если операция сохранения является одним из шагов макроса.
Для запуска пакетной обработки необходимо закрыть окно Batch, нажав кнопку OK. После этого файлы будут один за другим открываться в Photoshop, к ним будут применяться заданные операции, после чего они будут закрываться и сохраняться.
Batch и Actions - это очень полезные инструменты Photoshop, которые могут сэкономить не один час времени. Кроме этого, Actions могут стать хорошим пособием для изучения программы - загрузите в Photoshop наборы макропоследовательностей, созданные опытными пользователями, и пошагово разберите, как они работают.
Не всегда хорошая программа стоит много денег. Не которые бесплатные программы, например, такие как VirtualDub или 7-Zip стали более популярными, чем их платные аналоги. Создание таких программ начинается с простого энтузиазма людей, которые хотят сделать вещь полезную всем. А результат работы целой команды людей всегда оказывается успешным.
3D-редактор Blender 2.45
Не всегда хорошая программа стоит много денег. Не которые бесплатные программы, например, такие как VirtualDub или 7-Zip стали более популярными, чем их платные аналоги. Создание таких программ начинается с простого энтузиазма людей, которые хотят сделать вещь полезную всем. А результат работы целой команды людей всегда оказывается успешным.
Так случилось и с программой трехмерной графики Blender. Это ещё один пример коллективной работы многих людей. И сейчас Blender является полноценным бесплатным 3D-редактором.
Внешний вид всех программ для работы с трехмерной графикой очень похож. По этому производители коммерческих пакетов для работы с 3D выпускают специальные брошюры, где подробно разъясняются отличия в «горячих клавишах» и инструментах управления сценой между их программой и приложением, с которого они хотят переманить пользователя.
Программисты, сделавшие Blender, не ставят перед собой цель заработать деньги, и им не нужно подстраиваться под тех, кто раньше работал в другом 3D-редакторе. Поэтому, открывая для себя Blender, работе с трехмерной графикой приходится учиться заново.
Необычный внешний вид Blender говорит о том, что разработчики создавали свой проект «с нуля», не привязываясь к внешнему виду прочих программ для работы с трехмерной графикой. В какой-то мере это было правильное решение, ведь только так можно было создать удобный и в то же время принципиально новый интерфейс. Казалось бы, что можно придумать удобнее нескольких окон проекций и панели с настройками объектов?
Удобнее может быть только возможность гибкой настройки интерфейса под нужды каждого пользователя. В Blender реализована технология, благодаря которой внешний вид программы изменяется до неузнаваемости. Изюминка интерфейса Blender состоит в том, что в процессе работы над трехмерной сценой можно «разбивать» окно программы на части. Каждая часть – независимое окно, в котором отображается определенный вид на трехмерную сцену, настройки объекта, линейка временной шкалы timeline или любой другой режим работы программы.
Таких частей может быть неограниченно много – все зависит от разрешения экрана. Но сколько бы окошек ни было создано, они никогда не пересекутся между собой. Размер одного зависит от размера остальных, то есть если пользователь увеличивает размер одной части, размер соседних уменьшается, но никаких "накладываний" окон друг на друга не происходит. Это невероятно удобно, и тут создателям коммерческих приложений стоило бы посмотреть в сторону Blender, чтобы взять новшество на заметку.
Еще одна сильная сторона программы – хорошая поддержка «горячих клавиш», при помощи которых можно выполнять практически любые операции. Сочетаний довольно много, и запомнить все сразу тяжело, однако их знание значительно ускоряет и упрощает работу в Blender.
Таким образом, сложным интерфейс программы кажется только с непривычки. На самом же деле, инструменты Blender расположены очень удобно. Для того чтобы это понять, нужно поработать в программе какое-то время, привыкнуть к ней.
Для создания трехмерных моделей используются полигональные и NURBS-поверхности. Имеются в Blender и инструменты сплайнового моделирования. Создание 3D-объектов производится также с использованием кривых Безье иB-сплайнов.
Инструментарий Blender столь универсален, что позволяет воссоздавать даже очень сложные органические формы. Для этой цели можно использовать метаболы и технологию «трехмерной лепки» с помощью виртуальных кистей. Редактирование формы трехмерной модели с помощью кистей производится примерно так же, как это делается в Maya. Вносить изменения в геометрию можно в режиме симметрии, что особенно важно при моделировании персонажей.
В программе можно создавать обычную анимацию, а также работать над персонажной оснасткой, строить скелет и выполнять привязку костей к внешней оболочке. Трехмерный редактор работает с прямой и инверсной кинематикой.
В программе предусмотрена и возможность работы с частицами. Система частиц может быть привязана к любому трехмерному объекту. Поток частиц управляется с помощью направляющих кривых, эффектов ветра и завихрений. Кроме этого, влияние на частицы может определяться как окрашивание, в зависимости от силы воздействия на них. Есть вариант проверить, как частицы будут отражаться от движущейся трехмерной поверхности, или заставить их подчиняться законам гравитации. С помощью статической системы частиц можно даже моделировать волосы.
Blender включает в себя симулятор флюидов, благодаря которому в программе можно моделировать «текучие» эффекты жидкостей. Нужно отметить, что эта разновидность эффектов присутствует далеко не во всех 3D-редакторах, например, в 3ds Max нет инструментов для моделирования текучих флюидов.
Создать реалистичную анимацию особенно сложно, если необходимо имитировать физически точное поведение тел. В Blender есть инструменты для просчета поведения тел в определенных условиях. В режиме реального времени можно просчитать деформацию мягких тел, а затем «запечь» ее для экономии ресурсов и оптимизации визуализации анимации. Физически точное поведение может быть определено также и для упругих тел, с последующим «запеканием» измененных параметров в анимационные кривые.
Что касается визуализации, то и тут возможности Blender на высоте. Можно рассчитывать на поддержку рендеринга по слоям, на получение эффектов смазанного движения и глубины резкости (depth of field). Также поддерживается "мультяшный" рендеринг и имитация глобального освещения (ambient occlusion). Вместе с программой удобно использовать бесплатный движок визуализации YafRay, который может похвастаться работой с HDRI, возможностями просчета каустики и глобального освещения. Есть и другие подключаемые визуализаторы, например, Indigo.
В Blender-сообществе – был выпущен первый 3D-мультфильм, полностью созданный при помощи этой программы. Короткометражный фильм Elephants Dream создавался в течение полугода командой из шести аниматоров и других специалистов, которые постоянно работали в офисе компании Montevideo, поддерживающей проект. Приложить свою руку к созданию мультфильма могли все желающие, помогая основной команде разработчиков удаленно, через интернет.
Целью проекта было показать, что Blender является полноценным 3D-редактором, который с успехом может использоваться не только студентами и школьниками в целях обучения, но и профессионалами, работающими в команде над производством сложных проектов.
Одной из особенностей проекта Elephants Dream стало то, что в интернете был выложен для свободной загрузки не только сам фильм, но и все исходные материалы, которые использовались при его создании: сцены, текстуры и т.д.
После успеха Elephants Dream CG-энтузиасты, работающие в Blender, создали ещё один анимационный проект - фильм Peach. В нем аниматоры обращают внимание общественности на другие сильные стороны Blender, которые не удалось показать в первом фильме. В частности, это касается средств для работы с мехом и шерстью. И Peach стал "забавным и пушистым".
Blender – это отличный инструмент для трехмерного моделирования и анимации. Вне всякого сомнения, у этой программы есть будущее, она постоянно совершенствуется и обрастает новыми возможностями.
Настройки по умолчанию в Кореле не очень удобны. В любом графическом редакторе всегда хочется иметь как можно больше рабочего пространства. Настройки по умолчанию хороши лишь для изучения редактора, так как все руководства, справка и книги написаны под них. Когда же всё изучено и опробовано, можно настроить интерфейс «под себя». А некоторые опции просто необходимо скорректировать для комфортной работы.
Настраиваем сами Corel Draw.
Настройки по умолчанию в Кореле не очень удобны. В любом графическом редакторе всегда хочется иметь как можно больше рабочего пространства. Настройки по умолчанию хороши лишь для изучения редактора, так как все руководства, справка и книги написаны под них. Когда же всё изучено и опробовано, можно настроить интерфейс «под себя». А некоторые опции просто необходимо скорректировать для комфортной работы.
Для настройки интерфейса обычно используют меню Customization. Но в этой статье часто будет использоваться ещё один способ. Заключается он в том, что элементы интерфейса можно перетаскивать, зажав клавишу Alt, если при перетаскивании воспользоваться сочетанием Ctrl+Alt то перемещаемые элементы дублируется. Чтобы просто удалить элемент достаточно кликнуть на нем правой кнопкой мыши и в появившемся контекстном меню выбрать Customize>Toolbar Item>Delete. Сами «бары» перетаскиваются за двойную линию с левого или верхнего края.
Настройка внешняя.
Удаляем всё лишнее.
В верхней части интерфейса находятся Menu Bar (стандартные File, Edit, View и т.д.), Standard toolbar (панель, где находятся пиктограммы New, Open, Save...) и Property Bar (панель свойств, где устанавливаются параметры страницы, единицы измерения и прочие параметры документа). Menu Bar имеет привычное для большинства Windows приложений расположение, поэтому можно оставить его без изменений. Сэкономить место, здесь можно разместив Standard toolbar и Property Bar в один ряд, что станет возможно, если удалять с Standard toolbar. Лишние элементы, начиная, справа это выпадающее меню масштаба (zoom level), которое дублируется при выбранном Zoom Tool`е, затем кнопки «Access the Corel Graphics Community Web site» и «Start Corel applications», кнопки импорта и экспорта заменят легко запоминающиеся сочетания Ctrl+I и Ctrl+E. Всем знакомы такие сочетания как Ctrl+Z и Ctrl+Shift+Z, соответственно кнопкам со стрелочками «Undo» и «Restore» не место в новом интерфейсе. Опять же копирование/вставка – стандартные во всех приложениях Ctrl+C/X/V, да и в контекстном меню они присутствуют, так что тоже можно смело удалять. В общем, что оставить в Standard toolbar`е и оставлять ли его вообще дело индивидуальное, главное поставить его вряд с Property Bar`ом, что расширит рабочую область аж на 32 пиксела. Беспокоится о неправильных действиях и удалении чегото нужного сильно не стоит. Стандартные панели можно вернуть к прежнему виду в меню Tools>Customization>Command Bars, выделив нужную и нажав кнопку Reset. Либо через контекстное меню Customize>[Toolbar Name]>Reset to Default. Сбросить же все настройки на дефолтные если вдруг ваши эксперименты совсем выйдут из под контроля можно стартовав CorelDRAW с зажатой клавишей F8. То что находится внизу называется Status Bar и по умолчанию занимает неоправдано много места, показывая такие ненужные вещи как позиция курсора, доступные команды для инструментов и свойства объектов которые дублируются на панели свойств. Удалив все лишнее можно разместить вряд Object Information, Object Detalis, Fill Color и Outline color таким образом уменьшив размер панели состояния вдвое.
Ну и наконец немного расширить рабочую область можно отключив линейки, двойной клик и в появившемся окне снять галочку Show Rulers, существенный минус это отсутствие возможности вытягивать из них направляющие (Guidelines) и выставлять нулевые координаты в нужное место. Как вариант можно вынести кнопку включения/отключения линеек в какое-нибудь удобное место, находится она в меню Tools>Customization>Commands выпадающем списке View и называется Rulers.
Панель инструментов (Toolbox).
Та часть интерфейса, в которой расположены инструменты (Pick, Zoom, Shape, Bezier Tools и т.д.) интерактивные эффекты (Blend, Transparency, Envelope и т.д.) и прочее необходимое в работе и есть Toolbox или панель инструментов. По умолчанию она расположена неподвижно в крайней левой части окна и все инструменты расположены в один столбик, а некоторые объеденены в группы. Такой порядок не очень удобен опытному пользователю и уж тем более профессионалу или векторному маньяку.
Расположение в два столбика более практично и удобно, с этого и следует начать – перетащить Toolbox за верхний край со стандартного места в свободную область и растянуть до расположения инструментов в два столбца. Теперь руководствуясь собственным опытом и манерой работы нужно выставить инструменты в нужном порядке. Например Shape Tool можно вынести отдельно от группы и расположить рядом с Pick Tool`ом, также с инструментом Hend, а в выпадающих группах подвинуть наиболее используемые инструменты ближе к левому краю.
Чтобы новая панель выглядела аккуратней можно убрать верхнюю часть с названием и крестиком закрытия, для этого нужно кликнуть на панели правой кнопкой мыши, в контекстном меню выбрать Customize>Toolbox Toolbar>Properties... и в появившемся окне снять галочку «Show title when toolbar is floating».
Докеры (Dockers).
Особенностью интерфейса CorelDRAW является то что многие полезные функции и эффекты реализованы в виде докеров – панелей по умолчанию открывающихся справа. Там им самое место, вот только открывать каждый раз нужный докер не очень удобно, располагаются они в разных частях меню, хотя почти все их можно найти в меню Window>Dockers и на многие уже назначены сочетания клавиш. Наиболее удобный выход держать их открытыми, только в свернутом состоянии, так они будут расположены в нужном порядке удобными вкладками и при надобности разворачиваться одним кликом и так же легко сворачиваться. Определившись с наиболее удобным порядком (чтобы чаще используемые были выше) нужно поочередно открыть их через меню Window>Dockers. После этих действий правая часть экрана будет занята набором удобных закладок.
При желании расположить их можно и не привязывая к экрану, перетаскиваются они также как и другие элементы. В «плавающем» состоянии докеры представляют собой отдельные окошки, напоминающие аналогичные в «Адобовских» продуктах, которые так же легко сворачиваются и объединяются в группы.
Палитру цветов так же можно расположить более удобно, горизонтально например или в виде той же плавающей панели, форма и место расположения практически ничем не ограничиваются.
С принципом настройки интерфейса и некоторыми вариантами модификации, думаю, все понятно, она на то и кастомизация чтобы каждый мог изменить рабочее пространство на удобное ему. Теперь о настройках внутренних.
Настройка внутренняя.
Горячие клавиши.
Здесь каждый вправе сам решать что нужнее всего и достойно назначения клавиш.
В меню Tools>Customization>Commands во вкладке Shortcut Keys назначить свое сочетание клавиш можно любой функции. Совет: при установке горячих клавиш включите режим Navigate to conflict on Assign это позволит не допустить повтора уже существующих сочетаний. И ещё один важный совет: многим в Corel`е не хватает аналога функции Hand Tool в Photoshop`е и Illustrator`е, которой можно перемещаться по рабочей области зажав пробел не отрываясь от основных действий и не переключая инструментов. Такая функция присутствует, но по умолчанию не задействована, исправить ситуацию можно назначив горячую клавишу инструменту Pan (можно тот же пробел) который находится в меню Tools>Customization>Commands в выпадающем списке View.
Опции.
Пройдясь по опциям можно настроить некоторые параметры, сделав работу еще более удобной и продуктивной, начнем по порядку: Tools>Options (Ctrl+J)>Workspace>General тут можно установить количество шагов отката (Undo levels) для основных операций (Regular) и операций с растрами (Bitmap effects), примерные значения 50-100 и 5-10 соответственно.
Тут же можно отключить звуки (снять пометку с Enable sounds). Вкладка Display интересна опцией Enable node Tracking знакомой по ранним версиям CorelDraw (напомню: при активном инструменте Pick Tool и наведении на узлы он превращается в Shape Tool, таким образом можно скруглять углы прямоугольников и перемещать узлы не переключаясь на шейпер). Опция удобная и многим привычная, но не всегда востребованная, а лазить каждый раз в опции для ее включения не очень удобно. Альтернатива есть: в уже знакомом меню Tools>Customization>Commands нужно выбрать в выпадающем списке Edit, найти опцию Tracking и вытащить ее в удобное место на рабочей области или назначить ей сочетание клавиш. Теперь активация функции Node Tracking займет считанные секунды.
Далее во вкладке Edit следует снять галочку с опции Edit Auto-center new PowerClip contents, эта опция размещает объект в центре контейнера поверклипа, что нужно очень редко и если уж возникла такая необходимость, решается предварительным выравниванием объектов клавишами «C» (по вертикали) «E» (по горизонтали).
Следующая вкладка обязательная к посещению Memory, тут следует увеличить объем оперативной памяти используемой приложением со стандартных 25% до 50-75% в зависимости от объема доступной памяти.
Во вкладке Text>Quick Correct нужно снять галочку с одной из самых надоедливых функций CorelDRAW «Capitalize first letter of sentence» которая всюду при наборе текста делает первую букву предложения заглавной, что совершенно не требуется в большинстве случаев.
Часто CorelDRAW импортирует файлы в формате EPS в виде растровых объектов либо не импортирует вообще, для корректного импорта необходимо использовать фильтр «EPS, PS, PRN – PostScript», можно конечно выбирать его вручную в диалоговом окне импорта в выпадающем меню Files of type, но проще назначить его фильтром по умолчанию. Для этого в меню Global > Filters в списке List of active filters нужно выделить нужный фильтр и кнопкой Move Up поднять его выше фильтра «EPS - Encapsulated PostScript». Теперь нужный фильтр будет отвечать за импорт *.eps файлов постоянно.
Ну вот пожалуй и все основные и нуждающиеся в корректировке опции. На последок можно отметить некоторые возможности рассчитанные скорей на любителя нежели необходимые в работе. В меню Customization>Commands в выпадающем списке Status Bar можно найти такие функции как Time, которая как ясно из названия показывает время, Memory Allocated, которая проинформирует о занятой открытыми файлами памяти, а также индикатор статуса привязки Snap Status, и еще ряд подобных мелочей. Их можно расположить как например в том же Status Bar так и назначать горячие клавиши, после нажатия которых информация выведется рядом с курсором.
Node Color Coding.
По умолчанию отключенное нововведение CorelDRAW X3 (похоже, не всегда корректно работает), из название понятно – цветовое выделение узлов, т.е. подсвечивает узлы с разными свойствами (cusp, smooth, simmetrical) своим цветом. Кроме того, выделяется «начальный» узел, что в работе с блендами весьма полезно.
Включается через реестр (Пуск>Выполнить...>regedit):
в ветке
HKEY_CURRENT_USER > Software > Corel > CorelDRAW > 13.0 > CorelDRAW > Application Preferences > Base Tool Pref
присваиваем параметру
"NodeColorCoding"
значение "1".
сохраняем с расширением .reg, и запускаем, после подтверждения функция включится.
Как вы видите CorelDRAW крайне гибкий по части настроек и кастомизации. И каждый не поленившийся потратить часок другой на ковыряние опций и настройку интерфейса без сомнения сэкономит уйму рабочего времени впоследствии и превратит стандартный редактор в индивидуально заточенный инструмент.
Главное о чем стоит упомянуть это, что ваш хранитель экрана будет работать в фоновом режиме и он не должен мешать работе других запущенных программ. Поэтому сам хранитель должен быть как можно меньшего объема. Для уменьшения объема файла в описанной ниже программе не используется визуальные компоненты Delphi, включение хотя бы одного из них приведет к увеличению размера файла свыше 200кб, а так, описанная ниже программа, имеет размер всего 20кб!!!
Технически, хранитель экрана является нормальным EXE файлом (с расширением .SCR), который управляется через командные параметры строки. Например, если пользователь хочет изменить параметры вашего хранителя, Windows выполняет его с параметром "-c" в командной строке. Поэтому начать создание вашего хранителя экрана следует с создания примерно следующей функции:
Поскольку нам нужно создавать небольшое окно предварительного просмотра и полноэкранное окно, их лучше объединить используя единственный класс окна. Следуя правилам хорошего тона, нам также нужно использовать многочисленные нити. Дело в том, что, во-первых, хранитель не должен переставать работать даже если что-то "тяжелое" случилось, и во-вторых, нам не нужно использовать таймер.
Процедура для запуска хранителя на полном экране - приблизительно такова:
Во-первых, мы проинициализировали некоторые глобальные переменные (описанные далее), затем прячем курсор мыши и создаем окно хранителя экрана. Имейте в виду, что важно уведомлять Windows, что это - хранителя экрана через SystemParametersInfo (это выводит из строя Ctrl-Alt-Del чтобы нельзя было вернуться в Windows не введя пароль). Создание окна хранителя:
Теперь окна созданы используя вызовы API. Я удалил проверку ошибки, но обычно все проходит хорошо, особенно в этом типе приложения.
Теперь Вы можете погадать, как мы получим handle родительского окна предварительного просмотра ? В действительности, это совсем просто: Windows просто передает handle в командной строке, когда это нужно. Таким образом:
Как Вы видите, window handle является вторым параметром (после "-p").
Чтобы "выполнять" хранителя экрана - нам нужна нить. Это создается с вышеуказанным CreateThread. Процедура нити выглядит примерно так:
Нить просто заставляет обновляться изображения в нашем окне, спит на некоторое время, и обновляет изображения снова. А Windows будет посылать сообщение WM_PAINT на наше окно (не в нить !). Для того, чтобы оперировать этим сообщением, нам нужна процедура:
Если мышь перемещается, кнопка нажала, мы спрашиваем у пользователя пароль:
Это также демонстрирует использование registry на уровне API. Также имейте в виду как мы динамически загружаем функции пароля, используюя LoadLibrary. Запомните тип функции?
TVSSFunc ОПРЕДЕЛЕН как:
Теперь почти все готово, кроме диалога конфигурации. Это запросто:
Трудная часть -это создать диалоговый сценарий (запомните: мы не используем здесь Delphi формы!). Я сделал это, используя 16-битовую Resource Workshop (остался еще от Turbo Pascal для Windows). Я сохранил файл как сценарий (текст), и скомпилированный это с BRCC32:
Почти также легко сделать диалоговое меню:
После того, как пользователь выбрал некоторые установочные параметры, нам нужно сохранить их.
Загружаем параметры так:
Легко? Нам также нужно позволить пользователю, установить пароль. Я честно не знаю почему это оставлено разработчику приложений ! Тем не менее:
Мы динамически загружаем (недокументированную) библиотеку MPR.DLL, которая имеет функцию, чтобы установить пароль хранителя экрана, так что нам не нужно беспокоиться об этом.
TPCPAFund ОПРЕДЕЛЕН как:
(Не спрашивайте меня что за параметры B и C ! :-)
Теперь единственная вещь, которую нам нужно рассмотреть, - самая странная часть: создание графики. Я не великий ГУРУ графики, так что Вы не увидите затеняющие многоугольники, вращающиеся в реальном времени. Я только сделал некоторые ящики.
И последнее - глобальные переменные:
Затем исходная программа проекта (.dpr). Красива, а!?
Ох, чуть не забыл! Если, Вы используете SysUtils в вашем проекте (например фуекцию StrToInt) вы получите EXE-файл больше чем обещанный в 20k. :) Если Вы хотите все же иметь20k, надо как-то обойтись без SysUtils, например самому написать собственную StrToInt процедуру.
Если все же очень трудно обойтись без использования Delphi-форм, то можно поступить как в случае с вводом пароля: форму изменения параметров хранителя сохранить в виде DLL и динамически ее загружать при необходимости. Т.о. будет маленький и шустрый файл самого хранителя экрана и довеска DLL для конфигурирования и прочего (там объем и скорость уже не критичны).
На сегодняшний день цифровое видео развивается в двух направлениях это видео улучшенного качества для просмотра его на больших ЖК-панелях. И видео уменьшенного размера для экранов портативных устройств. Конечно смотреть фильм или видеоклип на большом экране намного удобней чем на маленьком. Зато устройства с малыми экранами, такие как мобильные телефоны, КПК и медиаплееры легко можно носить в кармане и смотреть видео в любых ситуациях.
Конвертирование видео в мобильные форматы.
На сегодняшний день цифровое видео развивается в двух направлениях это видео улучшенного качества для просмотра его на больших ЖК-панелях. И видео уменьшенного размера для экранов портативных устройств. Конечно смотреть фильм или видеоклип на большом экране намного удобней чем на маленьком. Зато устройства с малыми экранами, такие как мобильные телефоны, КПК и медиаплееры легко можно носить в кармане и смотреть видео в любых ситуациях.
Но для того, что бы такое портативное устройство смогло показывать видео его соответствующим образом надо подготовить и записать в память.
Конвертировать видео в форматы, поддерживаемые мобильными устройствами, проще всего при помощи специальных программ. Благодаря этим программам не нужно задумываться над тем, какое разрешение выбрать, и какой формат поддерживается мобильным девайсом.
Agogo Video to iPod / PSP / Cell Phone / Xbox / Pocket PC / PDA / MP4
Хотя название программы выглядит слишком длинным, зато пользователю не нужно вчитываться в описание программы и искать список поддерживаемых форматов, для того чтобы понять, поддерживает ли этот конвертер видео для мобильных телефонов или iPod.
Интерфейс ее так же прост, как незатейливо ее название. Окно состоит из трех основных частей: списка файлов, окошка предварительного просмотра и области, в которой задаются настройки кодирования. Для удобства она имеет несколько вкладок – To iPod, To Xbox, To 3GP и т.д. Таким образом, практически исключена возможность того, что вы выберете такой формат, который не поддерживается вашим портативным устройством. Настройки кодирования можно устанавливать только для видеофайлов, которые вы собираетесь проигрывать на iPod, для остальных устройств программа предлагает только профили настроек, изменить которые нельзя. Профили включают формат, разрешение и параметры звука. Число профилей не очень велико, например, для XBox – четыре, а для видеоплееров – всего два. Что касается iPod, то тут профили не предусмотрены, и пользователю самому предлагается определиться с форматом, количеством кадров в секунду, разрешением, соотношением сторон, частотой дискретизации аудио, битрейтом аудио и видео и громкостью.
Agogo Video to iPod / PSP / Cell Phone / Xbox / Pocket PC / PDA / MP4 может выполнять преобразование видеофайлов в пакетном режиме. Для этого достаточно загрузить в программу несколько видеофайлов. После того, как файл загружен, его можно просмотреть в окне предварительного просмотра и при необходимости отметить фрагмент, который нужно конвертировать. Для этого под окном предпросмотра есть специальные маркеры – в начале и в конце клипа. Кодирование будет выполняться с того места клипа, где установлен первый маркер, и до того, где находится второй.
Загруженные в программу файлы не обязательно кодировать все вместе. Напротив каждого из них есть флажок, и если перед нажатием кнопки Start его снять, то клип будет пропущен. Перед началом конвертирования нужно не забыть указать папку, куда будет сохраняться видео. Также при необходимости можно попросить программу выключить компьютер, когда все задания будут завершены.
WinAVI iPod/PSP/3GP/MP4 Video Converter
Программа так же не сложная – на освоение программы уходит максимум минуты три.
Первое, что нужно сделать – это выбрать устройство (iPod, PSP) или формат (3GP, MP4), нажав на одну из четырех кнопок. После этого нужно будет загрузить файл или файлы, которые необходимо преобразовать. Конвертер позволяет выбирать несколько файлов одновременно, но нужно, чтобы они были помещены в одну папку. Чтобы преобразовать видео с параметрами по умолчанию, нужно просто нажать кнопку OK, после чего программа начнет свою работу.
Кроме форматов, которые вынесены в название программы, WinAVI iPod/PSP/3GP/MP4 Video Converter поддерживает и другие, "немобильные форматы", такие как Mov, Rm, Wmv и другие. Стоит также отметить пакетный режим, в котором можно выполнить преобразование нескольких видеофайлов. В этом режиме можно установить очередь из файлов, которые нужно конвертировать в разные форматы. Его также можно использовать для преобразования одного и того же файла в несколько разных форматов.
Во время конвертирования файлов можно наблюдать за процессом в окне предварительного просмотра. Если компьютер достаточно мощный, то можно включить отображение видео в реальном времени. Очень удобно, что эти настройки можно менять непосредственно по время кодирования, не останавливая при этом процесс. Если предполагается, что кодирование займет много времени, можно включить опцию выключения компьютера после его завершения и лечь спать.
Xilisoft Video Converter
Число поддерживаемых этим конвертером форматов просто огромно – вряд ли вы не найдете в этом длинном списке тот, который нужен именно вам. При помощи программы можно даже преобразовать видео для просмотра на BlackBerry, Apple TV и iPhone, все более распространенные устройства тоже поддерживаются.
Программа может работать в двух режимах: в стандартном, для опытных пользователей, и в режиме мастера, предназначенном для новичков. Немного неудобно, что между этими режимами никак нельзя переключаться – она реализованы как две независимые утилиты, для открытия одной из которых нужно будет обратиться к меню "Пуск".
Настройка параметров кодирования выполнена очень удобно – не нужно открывать дополнительные окна, все параметры вынесены в главное окно программы. Тут можно определить качество видео и аудио, отключить звук, указать соотношение сторон и т.д.
Очень удобно и окошко предварительного просмотра – в нем можно по очереди проигрывать все файлы, загруженные в программу.
PocketDivxEncoder
Эта программа заслуженно пользуется большой популярностью среди владельцев КПК, смартфонов и других портативных устройств. В отличие от большинства видеоконвертеров, она не требует установки, совершенно бесплатна и, к тому же, имеет русскую локализацию.
Благодаря гибким настройкам, программа может использоваться даже для тех устройств, профили для которых она не поддерживает, например, для Sony PSP. Правда, в этом случае подбирать разрешение видео и другие настройки придутся вручную. С другой стороны, PocketDivxEncoder поддерживает сохранение пользовательских профилей, поэтому если вы постоянно кодируете видео для просмотра на одном и том же устройстве, подобрать настройки нужно будет только один раз.
Для наглядности в PocketDivxEncoder везде, где требуется предпросмотр видео, можно увидеть картинку выбранного устройства, а видео будет отображаться на его "экране". Это очень удобно, например, когда вы подбираете разрешение видеофайла – если оно слишком велико, вы сразу же увидите, что видео "вылазит" за пределы экрана.
Одна из функций, на которую нельзя не обратить внимание, - подсчет итогового размера файла. Происходит это в реальном времени – вы изменяете параметры, отвечающие за качество видео и звука, а программа тут же подсчитывает, как это отразится на размере файла. Очень удобно.
Для PDA и смартфонов предусмотрена возможность изменять ориентацию видео, в зависимости от того, как пользователь держит устройство. Конечно же, в современных портативных устройствах есть подобная функция, однако если видео изначально будет сохранено с нужной ориентацией, это освободит ресурсы системы.
Часто при неудачном сжатии происходит расхождение звука с видео. PocketDivxEncoder дает возможность исправить подобные ошибки и восстановить правильную синхронизацию аудио и видео.
SUPER 2007
Конвертер SUPER полностью оправдывает свое название. Программа поддерживает огромное число форматов, абсолютно бесплатна и, к тому же, содержит все необходимые кодеки. Понятно, что последнее отражается на ее размере – дистрибутив занимает около 30 Мб, но зато после установки вы можете быть полностью уверены в том, что сможете выполнить кодирование в любой формат с использованием любого популярного кодека.
Интерфейс программы хоть и не имеет ничего общего с внешним видом других конвертеров, назвать сложным его нельзя. Разработчики использовали несколько приемов, которые помогают сразу разобраться с программой. Во-первых, при подведении курсора к каждой области окна появляется всплывающая подсказка, объясняющая, что пользователю нужно делать (при необходимости подсказки можно отключить). Во-вторых, элементы интерфейса имеют разный цвет: все, что зеленое, относится к настройкам кодирования видео, синий цвет – это цвет параметров аудио, а настройки формата выделены красным.
У SUPER нет окна предварительного просмотра видео, однако есть встроенный проигрыватель. По умолчанию он воспроизводит видео во весь экран, но при желании можно вызвать окно настроек и изменить их.
Профили для портативных устройств заслуживают всяческих похвал. Есть профили для сохранения файла в AVI для проигрывания на КПК, для Nintendo DS, Sony PSP, Sony PS3, Zune, два разных профиля для сохранения в формат 3GP – для телефонов Nokia/Siemens и для Sony Ericsson, а также два профиля для iPod – для более старых моделей и плееров последнего поколения. При выборе того или иного профиля все неподдерживаемые параметры для удобства скрываются.
Среди настроек кодирования стоит отметить возможность отключения аудио или видеопотока, а также наличие функции Stream Copy, которая позволяет произвести кодирование без повторной компрессии звука или видео, а значит, без потери качества. Если при выбранных вами параметрах эта опция недоступна, они просто станет неактивной.
Наконец, SUPER содержит достаточно много дополнительных эффектов, которые могут быть применены к выходному видеофайлу. Например, можно добавить на видео водяной знак, изменить ориентацию видео, инвертировать цвета, добавить затухание, вывести на каждом кадре информацию о клипе. Однако, использовать все эти эффекты в одном видео не рекомендуется.
AVS Video Tools
AVS Video Tools – это пакет утилит для работы с видео. Один из них – AVS Video Converter - общего назначения, а второй, AVS Video to GO, создан специально для преобразования видео в форматы, поддерживаемые портативными устройствами.
Работа AVS Video to GO построена в виде мастера – на первом этапе необходимо выбрать видеофайл, после чего в окне программы отобразятся его параметры. Можно воспользоваться окном предпросмотра, чтобы убедиться, что загружен нужный файл.
AVS Video to GO работает не только с обычными видеофайлами, но и с DVD. Список поддерживаемых девайсов достаточно велик – есть даже профили для мобильных телефонов, работающих в сетях CDMA, для портативных DVD-плееров, плееров Creative Zen, Archos DVR и Apple TV.
AVS Video to GO – очень удобное решение, когда нужно выполнить конвертирование одного файла. Если же есть необходимость в пакетном преобразовании, нужно использовать AVS Video Converter.
Пожалуй, единственный недостаток программы в том, что нет возможности указывать параметры для каждого файла по отдельности – настройки выходного видео будут применены для всех загруженных в программу файлов.
Kingdia iPod/PSP/3GP/MP4/AVI Video Converter
Программа имеет узкую специализацию и ориентирована исключительно на создание видеофайлов для портативных устройств. С его помощью можно конвертировать видео в форматы, поддерживаемые КПК, Palm, iPod, Sony PSP, мобильными телефонами и медиаплеерами.
Преобразование может выполняться в пакетном режиме, правда, настройки при этом выбираются не отдельно для каждого файла, а для всех одновременно.
В списке выбора выходного формата шесть вариантов – Apple iPod, Sony PSP, 3GP, 3GP2, MP4 и xVid. При выборе одного из них загружаются настройки по умолчанию, однако всегда есть возможность изменить их, выбрав другой кодек или уменьшив битрейт. Правда, тонкая настройка параметров кодека, к сожалению, недоступна. Есть также ползунок для изменения громкости файла.
Во время преобразования отображение видео не работает, зато можно наблюдать за ходом выполнения операции, глядя на ползунок, который появляется в списке заданий. Если процесс кодирования занимает много времени, можно установить флажок Shutodown PC when finished, и программа сама выключит компьютер после завершения работы.
Среди коммерческих приложений наиболее функциональной оказалась программа AVS Video Tools. Ее цена не намного больше, чем других конвертеров, но по возможностям она их заметно превосходит, поскольку AVS Video Tools можно использовать и для захвата видео с камеры, и для конвертирования DVD. Что касается бесплатных программ, то и SUPER 2007, и PocketDivxEncoder хорошо справляются со своей задачей и при этом не требуют много времени на то, чтобы разобраться с интерфейсом.
В наше время почти у каждого есть цифровая камера. Однако не все знают всех возможностей своего аппарата. Найдется мало желающих экспериментировать с настройками выдержки, чувствительности ISO и другими параметрами съемки, пользователи предпочитают делать цифровые фотографии в режиме – автоматической съемки.
2D – графика. Создаем панораму в редакторе PTGui Pro 8.
В наше время почти у каждого есть цифровая камера. Однако не все знают всех возможностей своего аппарата. Найдется мало желающих экспериментировать с настройками выдержки, чувствительности ISO и другими параметрами съемки, пользователи предпочитают делать цифровые фотографии в режиме – автоматической съемки.
Но почти в каждом современном фотоаппарате есть еще один режим, режим создания панорам. Этот режим позволяет избавится от некоторых ограничений фотоаппарата, такие как максимально допустимое разрешение снимка и максимальный угол обзора. Если же в вашем цифровике такого режима нет - не беда. Создать панораму можно и без специальной функции фотокамеры. Даже используя камеру мобильного телефона, можно получить широкоугольный снимок высокого разрешения. Все что нужно сделать – это выполнить несколько снимков в обычном режиме и установить специальную программу, с помощью которой кадры будут сшиваться в один снимок. Об одной из таких программ и пойдет речь в этом обзоре.
Свое название программа PTGui Pro получила в результате сокращения Graphical User Interface for Panorama Tools (Графический интерфейс для Panorama Tools).
Для создания панорамы, предлагается пройти несколько шагов с помощью мастера создания панорам Project Assistant. Наличие пошагового мастера в программе не означает, что PTGui Pro создаст панораму после нескольких щелчков мыши. Напротив, программа имеет огромное количество средств для настройки панорамы, в чем можно убедиться, включив режим Advanced. В этом режиме будет отображены дополнительные вкладки, каждая из которых содержит настройки для того или иного инструмента, например, для обрезки изображения, компенсации искажений, вызванных конструктивными особенностями объектива фотокамеры, для выбора способа проецирования панорамы и пр.
Шаг первый – загрузка изображений для будущей панорамы. Нажимаем кнопку Load images и указываем на диске заранее подготовленные фотографии.
Открытые в программе снимки отобразятся в виде ленты.
Если щелкнуть по этой ленте, откроется дополнительное окно Source Images, в котором можно установить порядок размещения изображений.
Нажав кнопку Correct в этом окне, можно выполнить коррекцию изображения, искаженного в результате паразитной дисперсии света, проходящего через оптическую систему объектива, или вследствие других причин.
Шаг второй – выравнивание кадров относительно друг друга. После нажатия кнопки Align images программа запустит свой алгоритм и определит для каждого изображения свое место в панорамном снимке. После автоматического выравнивания на экране появится окно Panorama Editor, в котором можно изменять ориентацию отдельных частей панорамы или всей панорамы целиком.
Если составляющие элементы панорамы сделаны максимально аккуратно, то есть, из одной точки, и имеют небольшую площадь перекрытия, скорее всего, создание панорамы на этом может быть завершено, и файл можно сохранять, нажав кнопку Create Panorama.
Если же снимки были не совсем удачные, и программа неточно определила места их "сшивания", необходимо вручную выполнить процедуру соединения изображений. Для склейки изображений PTGui Pro использует набор контрольных точек. Эти контрольные точки представляют собой пары отметок на соединяемых изображениях, которые обозначают совпадающие детали на снимках. Чем точнее расположены контрольные точки и чем больше будет их число, тем правильнее будет составлен шов между изображениями.
Для управления контрольными точками фотографий следует перейти на вкладку Control Points. В двух окнах показаны объединяемые снимки, на которых видны пары контрольных точек. Все эти точки пронумерованы и выделены цветом. Ниже, под изображениями показана таблица, в которой представлена подробная информация о координатах правых и левых контрольных точек.
Алгоритм программы несовершенен, поэтому иногда контрольные точки могут определяться недостаточно верно. В этом случае нужно щелкнуть правой кнопкой мыши на проблемной точке и удалить неудачную отметку, выбрав команду Delete. После этого можно вручную проставить контрольные точки, щелкая по изображению. Парную контрольную точку программа создаст сама, останется лишь проследить за правильностью ее расположения и, в случае необходимости, передвинуть ее на правильную позицию.
PTGui Pro может также сохранять результат соединения частей панорамы в файл Photoshop со слоями, что дает возможность редактировать изображение в популярном графическом редакторе. Изображение может также сохраняться в формате Tiff или Jpeg.
Панорамные снимки делают не только для того чтобы хранить память о местах, в которых побывал фотограф, они имеют и другое практическое применение. Круговые панорамы на 360 градусов могут использоваться разработчиками компьютерных игр для имитации естественного окружения. При помощи PTGui Pro можно получить интерактивную панораму в формате QuickTime VR (*.mov). Запустив такой файл, пользователь сможет совершить виртуальный осмотр местности из той точки, откуда производилась съемка панорамы. Панорамы QuickTime VR можно внедрять в веб-страницы. Для конвертирования панорамы в формат QuickTime VR нужно выполнить команду Utilities > Convert to QTVR.
Для 3D-дизайнеров программа PTGui Pro предлагает создание панорамных изображений в формате HDR, то есть с широким динамическим диапазоном. Использование технологии HDR при создании панорам может быть реализовано двумя методами коррекции изображения - True HDR и Exposure Fusion. Первый вариант позволяет создавать HDR-панораму на основе группы фотографий, сделанных с разной выдержкой, а также из HDR-изображений.
Второй вариант следует использовать в тех случаях, когда HDR-панорама не является конечной целью и необходимо лишь получить изображение с правильной экспозицией. В некоторых случаях, подобрать правильную выдержку довольно сложно. В основном это связано с тем, что на момент съемки освещение объектов неудобно для фотографа. В этом случае можно сделать несколько одинаковых снимков с разной выдержкой. Важно, чтобы они были сделаны с одной точки. Объединив информацию из всех этих снимков в формат HDR, можно получить изображение с более выгодным освещением. Затем выполняется преобразование диапазона яркостей HDRI к диапазону яркостей, отображаемых монитором (tone mapping), и на выходе мы имеем улучшенное изображение. Именно это и можно сделать в режиме Exposure Fusion.
Улучшить конечное изображение можно также, поэкспериментировав с настройками алгоритма PTGui Pro. Вызвать окно настроек можно, выполнив команду Tools > Options. Среди параметров, при помощи которых можно управлять тонкой настройкой программы: количество контрольных точек на паре сшиваемых изображений, настройки чувствительности при определении одинаковых фрагментов на частях панорамы и т.д.
Для создания одной панорамы требуется три, четыре и более снимков. А если панорам несколько то снимков получается очень много. Объединение кадров панорамы в один снимок требует много времени. Чтобы упростить задачу, в PTGui Pro предусмотрена пакетная обработка файлов.
Для того чтобы обработать сразу несколько панорамных изображений, необходимо сохранить проекты, которые должны быть обработаны, в формате программы (*.pts). После этого необходимо запустить утилиту Batch Stitcher, которая устанавливается вместе с PTGui Pro и доступна из меню "Пуск", составить в ней список заданий и запустить их выполнение.
Вы можете подумать, а для чего вообще нужна эта программа, ведь есть Photoshop, с прекрасным инструментом Photomerge? Однако его применение далеко не всегда позволяет получить идеальное изображение. Часто, особенно при склеивании ночных панорам, можно получить неприятное сообщение о том, что слои не могут быть корректно выровнены относительно друг друга. И тут PTGui Pro может стать хорошей альтернативой средствам популярного графического редактора.
С одной стороны, PTGui Pro достаточно проста в использовании, с другой – содержит множество настроек для коррекции снимков вручную, благодаря чему можно гибко управлять результатом.
Ниже приведены несколько панорам, которые были созданы при помощи программы.
Триал-версию PTGui Pro для Windows и Mac OS X можно скачать с официального сайта.
Оптоволоконный (он же волоконно-оптический) кабель – это принципиально иной тип кабеля по сравнению с рассмотренными двумя типами электрического или медного кабеля. Информация по нему передается не электрическим сигналом, а световым. Главный его элемент – это прозрачное стекловолокно, по которому свет проходит на огромные расстояния (до десятков километров) с незначительным ослаблением.
Рис. 2.4. Структура оптоволоконного кабеля
Структура оптоволоконного кабеля очень проста и похожа на структуру коаксиального электрического кабеля (рис. 2.4). Только вместо центрального медного провода здесь используется тонкое (диаметром около 1 – 10 мкм) стекловолокно, а вместо внутренней изоляции – стеклянная или пластиковая оболочка, не позволяющая свету выходить за пределы стекловолокна. В данном случае речь идет о режиме так называемого полного внутреннего отражения света от границы двух веществ с разными коэффициентами преломления (у стеклянной оболочки коэффициент преломления значительно ниже, чем у центрального волокна). Металлическая оплетка кабеля обычно отсутствует, так как экранирование от внешних электромагнитных помех здесь не требуется. Однако иногда ее все-таки применяют для механической защиты от окружающей среды (такой кабель иногда называют броневым, он может объединять под одной оболочкой несколько оптоволоконных кабелей).
Оптоволоконный кабель обладает исключительными характеристиками по помехозащищенности и секретности передаваемой информации. Никакие внешние электромагнитные помехи в принципе не способны исказить световой сигнал, а сам сигнал не порождает внешних электромагнитных излучений. Подключиться к этому типу кабеля для несанкционированного прослушивания сети практически невозможно, так как при этом нарушается целостность кабеля. Теоретически возможная полоса пропускания такого кабеля достигает величины 1012 Гц, то есть 1000 ГГц, что несравнимо выше, чем у электрических кабелей. Стоимость оптоволоконного кабеля постоянно снижается и сейчас примерно равна стоимости тонкого коаксиального кабеля.
Типичная величина затухания сигнала в оптоволоконных кабелях на частотах, используемых в локальных сетях, составляет от 5 до 20 дБ/км, что примерно соответствует показателям электрических кабелей на низких частотах. Но в случае оптоволоконного кабеля при росте частоты передаваемого сигнала затухание увеличивается очень незначительно, и на больших частотах (особенно свыше 200 МГц) его преимущества перед электрическим кабелем неоспоримы, у него просто нет конкурентов.
Однако оптоволоконный кабель имеет и некоторые недостатки.
Самый главный из них – высокая сложность монтажа (при установке разъемов необходима микронная точность, от точности скола стекловолокна и степени его полировки сильно зависит затухание в разъеме). Для установки разъемов применяют сварку или склеивание с помощью специального геля, имеющего такой же коэффициент преломления света, что и стекловолокно. В любом случае для этого нужна высокая квалификация персонала и специальные инструменты. Поэтому чаще всего оптоволоконный кабель продается в виде заранее нарезанных кусков разной длины, на обоих концах которых уже установлены разъемы нужного типа. Следует помнить, что некачественная установка разъема резко снижает допустимую длину кабеля, определяемую затуханием.
Также надо помнить, что использование оптоволоконного кабеля требует специальных оптических приемников и передатчиков, преобразующих световые сигналы в электрические и обратно, что порой существенно увеличивает стоимость сети в целом.
Оптоволоконные кабели допускают разветвление сигналов (для этого производятся специальные пассивные разветвители (couplers) на 2—8 каналов), но, как правило, их используют для передачи данных только в одном направлении между одним передатчиком и одним приемником. Ведь любое разветвление неизбежно сильно ослабляет световой сигнал, и если разветвлений будет много, то свет может просто не дойти до конца сети. Кроме того, в разветвителе есть и внутренние потери, так что суммарная мощность сигнала на выходе меньше входной мощности.
Оптоволоконный кабель менее прочен и гибок, чем электрический. Типичная величина допустимого радиуса изгиба составляет около 10 – 20 см, при меньших радиусах изгиба центральное волокно может сломаться. Плохо переносит кабель и механическое растяжение, а также раздавливающие воздействия.
Чувствителен оптоволоконный кабель и к ионизирующим излучениям, из-за которых снижается прозрачность стекловолокна, то есть увеличивается затухание сигнала. Резкие перепады температуры также негативно сказываются на нем, стекловолокно может треснуть.
Применяют оптоволоконный кабель только в сетях с топологией звезда и кольцо. Никаких проблем согласования и заземления в данном случае не существует. Кабель обеспечивает идеальную гальваническую развязку компьютеров сети. В будущем этот тип кабеля, вероятно, вытеснит электрические кабели или, во всяком случае, сильно потеснит их. Запасы меди на планете истощаются, а сырья для производства стекла более чем достаточно.
Существуют два различных типа оптоволоконного кабеля:
* многомодовый или мультимодовый кабель, более дешевый, но менее качественный;
* одномодовый кабель, более дорогой, но имеет лучшие характеристики по сравнению с первым.
Суть различия между этими двумя типами сводится к разным режимам прохождения световых лучей в кабеле.
Распространение света в одномодовом кабеле
Рис. 2.5. Распространение света в одномодовом кабеле
В одномодовом кабеле практически все лучи проходят один и тот же путь, в результате чего они достигают приемника одновременно, и форма сигнала почти не искажается (рис. 2.5). Одномодовый кабель имеет диаметр центрального волокна около 1,3 мкм и передает свет только с такой же длиной волны (1,3 мкм). Дисперсия и потери сигнала при этом очень незначительны, что позволяет передавать сигналы на значительно большее расстояние, чем в случае применения многомодового кабеля. Для одномодового кабеля применяются лазерные приемопередатчики, использующие свет исключительно с требуемой длиной волны. Такие приемопередатчики пока еще сравнительно дороги и не долговечны. Однако в перспективе одномодовый кабель должен стать основным типом благодаря своим прекрасным характеристикам. К тому же лазеры имеют большее быстродействие, чем обычные светодиоды. Затухание сигнала в одномодовом кабеле составляет около 5 дБ/км и может быть даже снижено до 1 дБ/км.
Распространение света в многомодовом кабеле
Рис. 2.6. Распространение света в многомодовом кабеле
В многомодовом кабеле траектории световых лучей имеют заметный разброс, в результате чего форма сигнала на приемном конце кабеля искажается (рис. 2.6). Центральное волокно имеет диаметр 62,5 мкм, а диаметр внешней оболочки 125 мкм (это иногда обозначается как 62,5/125). Для передачи используется обычный (не лазерный) светодиод, что снижает стоимость и увеличивает срок службы приемопередатчиков по сравнению с одномодовым кабелем. Длина волны света в многомодовом кабеле равна 0,85 мкм, при этом наблюдается разброс длин волн около 30 – 50 нм. Допустимая длина кабеля составляет 2 – 5 км. Многомодовый кабель – это основной тип оптоволоконного кабеля в настоящее время, так как он дешевле и доступнее. Затухание в многомодовом кабеле больше, чем в одномодовом и составляет 5 – 20 дБ/км.
Типичная величина задержки для наиболее распространенных кабелей составляет около 4—5 нс/м, что близко к величине задержки в электрических кабелях.
Оптоволоконные кабели, как и электрические, выпускаются в исполнении plenum и non-plenum.
Событие - это какое-либо действие, осуществляемое пользователем либо браузером. Например, когда мы щелкаем (кликаем) на ссылке - осуществляется событие, его перехватывает специальный обработчик и перенаправляет нас на нужную страницу; при наведении курсора (указателя мыши) на ссылку в строке состояния (обычно находится в нижней части окна браузера) отображается адрес, так как обработчик "наведения курсора на объект (в данном случае на ссылку)" помещает туда этот адрес и так далее...
а). onmouseout и onmouseover
Для начала наведем курсор на кнопку "Сброс" или "Отправить" и обратим внимание на строку состояния. Вы должны увидеть там надпись с объяснением значения кнопки. Теперь отведите курсор и строка состояния очистится.
Содержимое строки состояния хранится в переменной window.status. Переменная это некоторый объект (можно представить себе ящик), значение которого (содержимое которого) можно изменять. Изменение значения осуществляется операцией присваивания (=), а выглядит она следующим образом:
имя_переменной = "значение"; (какие использовать кавычки: одинарные или двойные значения не имеет)
Поэтому для того, чтобы изменить надпись в строке состояния, нам нужно присвоить переменной window.status нужное нам значение (подсказку к кнопке), а когда курсор будет убран - присвоить пустую строку("").
Вся задача сводится к тому, чтобы определить когда пользователь наводит курсор на кнопку, а когда убирает его. Для этого нужно "сказать" обработчикам этих событий выполнить нужное нам действие. Обработчик события "наведение курсора" - onmouseover, а "отведение курсора" - onmouseout.
Очень многие тэги имеют атрибуты, начинающиеся с on (onclick, onmouseout, onfocus и т. д.). Значение этих атрибутов и есть, задача которую необходимо выполнить соответствующему обработчику. То есть для обработчика onmouseout есть атрибут onmouseout, для onmouseover - onmouseover. И в итоге мы получаем следующее определение кнопок:
Как Вы видите, атрибут onmouseover имеет в качестве значения JavaScript-код: window.status='Щелкните для отправки данных', как только курсор достигает кнопки, обработчик события mouseover - onmouseover, смотрит, что хранится в атрибуте onmouseover и выполняет необходимое действие(присвоение значения переменной window.status). Аналогично действует и обработчик события onmouseout: как только курсор уводиться от кнопки (то есть выполняется событие mouseout), то обработчик события - onmouseout выполняет код, содержащийся в атрибуте onmouseout.
То же самое и со второй кнопкой.
б). <a href="Java Scriptfunction()">Function</a>
Теперь щелкните на ссылке и откроется окошко с подсказкой. Но заметьте, что окно небольших размеров и у него нет панели инструментов - такого силами html не сделаешь! В данном примере мы имеем окно размером 300x200, без панелей инструментов, содержащее документ help.html.
Для того чтобы создать такое окошко существует следующий JavaScript-код:
где:
1. helpWindow - это имя переменной (как window.status, только в данном случае имя выбирается произвольно). Эта переменная нужна для последующей работы с окном (например, закрыть его нестандартным способом - с помощью JavaScript-сценария).
- Зачем? Не проще ли указывать просто имя открывающейся страницы, например help.html?
- А если у нас две копии одной и той же страницы? Или две страницы с одинаковым именем(например, в разных папках)? Вот для того, чтобы не перепутать страницы и свободно работать именно с тем окном с которым предполагаешь и сделанно, так чтобы "окно" присваивалось переменной, так как имя переменной можно выбрать любое.
2. window.open(что-то) - это функция. Функции выполняют определенную задачу, в данном случае window.open() открывает новое окно.
3. help.html - это страница, которую нужно открыть.
4. "" - В кавычках должно быть имя окна, но оно нам не пригодится, поэтому там нулевая строка. В следующих кавычках указываются "параметры открываемого окна": оно не должно содержать панели инструментов (toolbar=0) и должно быть шириной 300 пикселей, а высотой - 200 (width=300,height=200, соответственно).
Теперь все, что нужно это по событию "щелчка" выполнить этот код, однако есть два "но". Во-первых строка очень длинная, чтобы присвоить ее какому-либо атрибуту - будет некрасиво смотреться, да и вызывать неудобства при чтении кода страницы. Во-вторых, первоначальное предназначение ссылки - это переход на другую страницу, но нам переходить никуда не нужно, нам нужно выполнить вместо этого JavaScript-код.
Первое решается написанием функции. Как я уже говорил функция выполняет некоторую задача, причем для использования функции достаточно указать ее имя. Можно не только использовать предопределенные(функции, которые имеется в языке и без нас), но и писать их самому. Обычно функции определяются(пишутся) в разделе HEAD документа, в котором используются:
"function" значит, что дальше будет написана наша функция; help() - это имя функции (оно будет указываться вместо тела функции (между { и })).
Вторая проблема решается тоже довольно просто. Адрес страницы указывается в атрибуте href, а нам надо выполнить JavaScript код вместо перехода по ссылке:
"Java Script" означает, что дальше должен идти JavaScript-код, и что он должен выполняться вместо стандартного перехода по ссылке. В данном случае наш JavaScript-код - это созданная нами функция help().
в). onclick
Нам не остается ничего более, как закрыть окно со справкой. Для этого воспользуемся кнопкой "Закрыть". Но нас интересует то, как работает эта кнопка, а имеет она следующий вид:
Дабы закрыть окно мы сделали щелчок(Click) на кнопке "Закрыть", а щелчок это нажатие и отпускание кнопки мыши, причем и то и другое должно быть произведено на одном и том же элементе (например, на кнопке). Кликая, на кнопке мы активируем обработчик события onClick, который выполняет для нас JavaScript-код, прописанный в атрибуте onclick нашей кнопки. Помните мы открывали окно? Мы писали window.open(), а здесь тоже самое только window.close(). window - это текущее окно, а close() - закрыть.
Это одно из наиболее частоупотребляемых событий.
г). onfocus и onblur
Ну что ж будем ближе подбираться к вводу требуемой от нас информации.
Как я уже говорил: элемент получает фокус когда на нем происходит нажатие кнопки мыши, или на него осуществляется переход посредством клавиши табуляции (Tab), а теряет, когда фокус получает другой элемент. Наше поле для ввода получит фокус тогда, когда пользователь решиться ввести информацию. При этом было бы удобно, чтобы текст с подсказкой ("Введите Ваше имя") автоматически выделялся и посетитель мог его удалить одним нажатием на del, а не удалять по одному символу, или выделять текст вручную. Удобство пользователя свято. Итак, для этого мы воспользуемся событием focus. Для выделения текста используется метод select(). То есть атрибутом к полю надо прописать: onfocus="this.select();", this обозначает, что выделение должно происходить именно в этом текстовом поле (а можно прописать путь и к другому, но это не целесообразно).
А теперь попробуйте ничего не изменяя (или все удалив) убрать фокус (например, щелкнув в любом месте окна, или нажав Tab). Это событие blur, я прописал в нем выполнение функции: onblur="check();". Сама же функция имеет следующий вид (в разделе head страницы с формой между <script> и </script>):
document.forms[0].name.value - это то, что введено в текстовое поле. document - это текущий документ, forms[0] - первая форма на нашей страницы (отсчет с нуля), name = имя поля (задается атрибутом name (<input name="name">)), а value это и есть нужное нам значение (то, что введенно в текстовое поле, к которому м ы и написали путь). Введенное в поле мы присваиваем переменной val (var значит, что дальше идет имя переменной), чтобы в дальнейшем каждый раз не писать весь путь целиком.
Следующее это оператор if(если). Он выглядит следующим образом:
Мы сравниваем содержание переменной val с пустой строкой ('') и с начальной строкой ('Введите Ваше имя'). Обратите внимание, что сравнение не как в математике(с одним =), а сравниваются двума ==. || - или. Функция alert выводит окно с ошибкой (то, что в скобках - это текст ошибки). То есть:
И на всякий случай приведу целиком строку с кодом поля input:
д). onreset и onsubmit
Допустим, что пользователь заполнил форму неправильно, и он хочет очистить все поля формы одновременно: для этого он воспользуется стандартной кнопкой reset. Но что если пользователь щелкнет на ней по случайности (рука дрогнет, или в суете спутает с кнопкой submit), а форма была огромная, и он долго мучился ее заполнять..., ему будет грустно, и еще он будет долго материться. Поэтому хорошо бы у него дополнительно спросить: действительно ли он хочет очистить форму.
Вообще событие reset обрабатывается до очистки формы. А чтобы отменить очистку вообще, нам просто напросто надо вернуть обработчику события значение false, то есть прописать в соответствующем атрибуте: "return false;", а чтобы продолжить очистку: "return true;". А теперь вспомним функцию, которая выдает вопрос пользователю на подтверждение чего-либо, эта функция: "confirm('Вопрос?');". При нажатии "Ok", эта функция заменяется на true, а при нажатии "Cancel" на false. То есть все что от нас требуется, это прописать в теге <form> атрибут: onreset="return confirm('Вы действительно хотите сбросить форму?');". Тогда при нажатии "Ok" там на самом деле будет "return true;", и форма будет очищена, а если "Cancel", то "return false;" и очистка формы будет отменена.
Подобным образом действует событие submit, которое возникает при попытке отправить форму. Поскольку в нашем случае форму отправлять никуда не надо, то у меня просто написано: onsubmit="return false;". И сколько бы Вы не щелкали ничего не изменится (разве что Вы JavaScript отключите).
Обычно же обработчик onsubmit используется для верификации формы (то есть проверки на заполнение всех необходимых полей, правильность их заполнения, скажем, проверка по определенному шаблону и т. п.), для этого создается функция, которая выполняет все действия. Функция должна содержать операторы "return true" и "return false", которые позволяют, заменить функцию на true или false, соответственно, в зависимости от результатов проверки (если успешно, то true, если нет false). Но верификация данных это обширная тема, которая не может быть рассмотрена здесь. Один из примеров базовой верификации я привел, когда объяснял событие blur - подобную функцию можно использовать и здесь. Тогда <form> будет содержать атрибут: onsubmit="return function();".
Но не забывайте, что нельзя ограничиваться одной лишь проверкой языком JavaScript, ибо его поддержка может быть отключена у посетителя, и тогда все Ваши труды по защите...
е). onmousedown и onmouseup
Еще одна пара событий не нашла достойного места на странице, но я ее реализовал в виде кнопки "Button". Причем это не обычная html-кнопка, она реализована в виде двух картинок. Исходная кнопка хранится в файле с именем npressed.jpg, а нажатая - pressed.jpg. Чтобы достичь эффекта нажатия кнопки нам необходимо, чтобы при при щелчке на ней(this) значение атрибута src (путь к картинке) тега <img> менялось на pressed.jpg, а при отпускании обратно на npressed.jpg. Нажатие кнопки обрабатывает onmousedown, а отпускание - onmouseup, то есть здесь все просто:
ж). onload, onunload и onabort
Обработчик события onload активируется, когда начинает загружаться графическая часть страницы (все тексты, графика и т.п.). onload является атрибутом тега <body>. Если честно я не вижу сколько бы реального применения этому событию, зато я нашел, что можно сделать с onunload. onunload это тоже атрибут тега <body>. Событие unload происходит когда мы пытаемся покинуть данную страницу (переходим по ссылке на другую, закрываем окно браузера, обновляем страницу и т. д.). Откройте еще раз окошко справки. Допустим, что пользователь прочитал справку, и хочет отправить форму, или уйдет с нашего сайта, но при этом он забыл закрыть это маленькое окошко с подсказкой, мы на выходе закроем его сами. А для этого тег <body> (у начального документа) у нас будет выглядеть следующим образом:
Вы должны бы помнить, что helpWindow это имя нашего окна (ведь именно этой переменной мы присваивали его открытие: helpWindow = window.open("help.html", "", "toolbar=0,width=300,height=200")), а метод close() закрывает это окно. Некоторые нехорошие люди используют это событие, чтобы когда посетители уходили с его страницы, появлялись какие-либо окна, так называемые pop-up.
onabort - атрибут тега <img>. Когда пользователь отменяет загрузку изображения происходит событие abort. Но отмена загрузки изображения может не входить в наши плане. И в качестве предупреждения у нас может быть написано нечто похожее на
ЗАКЛЮЧЕНИЕ
Есть некоторые события о которых я здесь нарочно не упомянул, потому что не нашел им достойного применения, но Вам они возможно пригодятся, поэтому я уделю им немного внимания.
onchange - обработчик события, который активируется, когда Вы изменяете содержимое текстового элемента или текстовой области (<TEXTAREA>) (например, когда Вы вводите или удаляете очередную букву какого-либо текстового поля).
onselect - обработчик события выбора текста. То есть это событие происходит, когда пользователь пытается выделить текст в текстовом элементе или текстовой области.
onerror - обработчик события error, которое возникает при ошибке загрузки документа или изображения (то есть onerror это атрибут тегов <body> и <img>). Оно возникает при синтаксической ошибке JavaScript-кода (но Вы ведь не будете специально делать в нем ошибки), либо ошибкой времени выполнения (например, если Ваш скрипт выполняет какие-либо вычисления и у Вас по ошибке получится так, что некое число будет делиться на ноль, а это недопустимо - это и есть одна из ошибок времени выполнения).
Так же не забывайте, что я привел лишь по одному примеру из десятков возможных на каждое событие. Здесь главное Ваша фантазия и навыки. Например, события mouseout, mouseover, mouseup, mousedown часто используются для создания выпадающих меню и других визуальных эффектов, но это весьма трудный материал, который требует более глубоких знаний, причем не одного JavaScript.
Image Styler - замечательная программа для создания графики для Web. Особенно эта программа нравиться новичкам (тем, кто никогда не имел дело с графическими редакторами, или толком в них не разбираются).
Графика без труда (Image Styler).
Image Styler - замечательная программа для создания графики для Web. Особенно эта программа нравиться новичкам (тем, кто никогда не имел дело с графическими редакторами, или толком в них не разбираются).
Открываем Image Styler. По умолчанию программа уже создала новый документ. Теперь надо предать этому документу необходимый размер. Для этого надо выбрать пункты Edit - Canvas Size - и появится табличка, в которой можно задать нужные размеры листа. Создадим лист побольше ( width - 600, а height - 500). Потом можно сохранить свое меню как угодно, одной картинкой или несколькими, поэтому не обязательно делать много документов.
Что можно нарисовать на первых страницах? – кнопки и несложный логотип.
Как создавать кнопки.
Вызываем меню с основными функциями, выбрав пункт в верхнем меню Window - Tools.
В появившемся меню видны изображения: квадрата, квадрата с закругленными краями, круга и многоугольника - берем одну из этих опций (пусть будет квадрат) и рисуем квадрат нужных размеров.
Чтобы квадрат, который рисуем на белом фоне, был виден, надо задать ему цвет. Для этого выбираем пункт меню (вверху) Window - Color - появится таблица с цветами. И в этой таблице ищем нужный цвет квадрата.
Можно задать цвет сразу нескольких объектов, для этого надо выделить их все. Если надо создать кнопку определенных размеров, то тогда надо выбрать пункт меню Window - Tranform - здесь можно задать положение квадрата относительно листа (X, Y), размеры квадрата в пикселях (W, H), вращение (rotation) в градусах и наклон (skew) относительно горизонтали или вертикали. Для первого раза понадобятся параметры высоты и ширины (width и height). Допустим, что кнопку надо сделать на основе многоугольника. Рисуем - получаем ромб. Как сделать, чтобы углов было больше (пятиугольник, шестиугольник и т.д.)? Или меньше (треугольник)? Идем в меню: Window - Properties. Для работы с объектом (ромбом), надо его выделить. Теперь можно сделать его пятиугольником (шести... и т.д.) - sides - этот параметр задает количество сторон многоугольника (максимум 10). Можно сделать его рамкой-контуром (outlinе) и снова наполненным (fill). Если сделать многоугольник контуром, то нужно задать толщину контура (width) в пикселях.
Для разных объектов properties (свойства) разные. Чтобы понять работу со свойствами надо с ними поэкспериментировать.
Вернемся к квадрату. Нарисовали, раскрасили, задали нужный размер. Теперь как его сделать кнопкой? Очень просто - Window - Styles. Появится окошко со стилями. Выделяем квадрат или квадраты и выбираем нужный стиль (с тенью, без тени и любой другой).
Сделать надпись на кнопке тоже не очень сложно. Вернемся к основному меню (Tools). Жмем кнопку с буквой Т - это означает текст. Теперь левой кнопкой мыши щелкаем в любом месте нашего "листа" (помните, текст такой же объект как квадрат, вы можете задать ему Стиль, поменять также цвет, задать вращение и так далее). Появится обычная табличка (стандартная для всех графических и текстовых редакторов) со свойствами только для текста. Выбираем нужный шрифт, нужный размер шрифта, нужное расстояние между буквами. Когда все готово, выделяем текст и перемещаем его так, чтобы он был на квадрате - кнопка с текстом готова.
Стайлер может не понимать русский шрифт. В таком случае пишется нужный текст русскими буквами в блокноте (или другом текстовом редакторе), копируется и вставляется в Image Styler. Это неудобно, но не надо делать картинкой очень много текста.
Чтобы создать идентичные кнопки, но с другими надписями - выделяется квадрат с текстом. Edit - Copy. Edit - Paste. Появится точно такой же квадрат с точно таким же текстом. Отодвигаем его на свободное пространство листа (или выравниваем относительно первой кнопки с надписью). А теперь надо только изменить текст на новой кнопке. Для этого два раза щелкаем левой кнопкой мыши по тексту и вставляем (пишем) новую надпись. Вот так вы очень быстро можно создать меню.
Теперь как сохранить полученный рисунок? Как задать нужный формат (jpg, gif, png)? И можно ли чтобы программа сама написала HTML код для этого рисунка?
Опции для Экспорта картинок: Window - Export. Здесь можно выбрать нужный формат, выбрать какого качества будет картинка. И самое интересное - можно еще до сохранения увидеть, как будет выглядеть картинка, когда ее экспортируют (active preview - только надо поставить галочку).
Теперь немного о логотипе. Его также можно создать с помощью Image Styler. Рисуется опять квадрат. Теперь выбирается пункт меню Window - Shapes. Выделить квадрат и придать ему нужную форму. С помощью этой опции можно создавать много разных рисунков, хотя и незатейливых.
Также можно импортировать текстуры, картинки, нарисованные не в Image styler: File - Place as Texture. Таким образом, можно задать текстуру для всего листа (фон), для отдельного объекта, только надо не забывать перед эти нужное выделять.
P.S. Image Styler уже довольно старая программа и Adobe отказалась от ее совершенствовании. Но не стоит расстраиваться программа-то функциональная, да и одно из новых детищ Adobe - Live Motion - как близнец похоже на Image Styler (+ имеет новые, упрощающие вашу жизнь возможности)..
Одной из распространенной задачей является определение разрешение экрана и глубину цвета монитора посетителя страницы средствами JavaScript с последующей передачей этих данные в PHP-скрипт. Это довольно часто встречающаяся задача, особенно при написании счетчиков посещений и создании “динамического дизайна”.
Скрипт JavaScript, выполняющий необходимые действия, размещен файле index.html, содержимое которого приведено в нижеследующем листинге:
Файл index.html
После выполнения этого кода происходит автоматический переход на страницу view.php, в котором происходит вывод разрешения экрана и глубины цветопередачи в окно браузера (см. листинг ниже).
Полученную информацию можно помещать в базу данных для набора статистики о наиболее распространенных разрешениях экранов, посетителей сайтов.