Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

Три способа создания тени.

  Эффект падающей тени (drop shadow) придает любому изображению, пусть даже абсолютно двухмерному, некий оттенок объемности и присутствия разных плоскостей в изображении. Даже небольшая падающая тень, добавленная к обычному тексту, делает его более выразительным и приятным для восприятия. Сравните сами:
текст без тени текст с тенью
  Текст без тени как бы принадлежит плоскости страницы. Хоть он и имеет четкие границы, но создается впечатление, что он представляет единое целое с фоном. Зато после добавления небольшой падающей тени, он приобрел более резкие очертания и "приподнялся" над плоскостью фона. Давайте рассмотрим, как создать эффект тени используя возможности GIMP.

  Создать эффект падающей тени в GIMP можно как минимум тремя способами. Рассмотрим самый простой случай. Пусть у нас есть небольшое изображение 250х100 точек на котором мы хотим получить надпись с тенью. Откроем диалог слоев (ctrl+L) и создадим новый прозрачный слой, оставив фон нашего изображения нетронутым. Теперь выберем инструмент "Текст" и напишем нужную надпись на прозрачном слое. Далее возможно два варианта действия:
  • 1. Мы прицепляем текст к прозрачному слою, нажав на иконку с якорем в диалоге слоев. Тем самым мы получим слой с текстом, размер которого будет равен размеру изображения.
  • 2. Мы создаем для текста новый слой, нажав на иконку создания нового слоя в диалоге слоев. Это приведет к тому, что создастся новый прозрачный слой с размером таким, чтобы занимать не больше места чем это нужно для размещения текста.
  В данном случае нам подходят оба способа, но в последствии второй будет менее удобным для работы. Поэтому я предлагаю пойти по первому пути.

  Итак, у нас имеется слой с фоном и прозрачный слой с текстом. Я специально создаю текст с заливкой шаблоном, чтобы сильнее подчеркнуть эффект, возникающий после создания тени. Диалог слоев и само изображение при этом выглядит так:

диалог слоев изображение

  Теперь добавим тень. Сделать это можно крайне просто, используя специальный скрипт "Падающая тень", вызываемый через Скрипт-Фу - Тень - Падающая тень во всплывающем меню изображения:

окно скрипта

  В диалоговом окне этого скрипта мы можем выбрать основные параметры будущей тени:
  • Смещение по Х и Y - указывают насколько будет смещена тень относительно исходного изображения.
  • Радиус размывания - указывает насколько размытой будет тень, т.е. насколько нечеткими будут ее контуры.
  • Цвет - позволяет выбрать цвет тени.
  • Непрозрачность - устанавливает степень непрозрачности тени. Чем больше степень непрозрачности, тем меньше будет просвечивать сквозь тень фоновое изображение.
  • Позволить изменение размера - при включении этой опции, размер изображения увеличивается на столько, на сколько сдвигается тень.
  • Сбросить в исходное - устанавливает значения по умолчанию.
  Применив этот скрипт, Вы получите для текста красивую падающую тень, которая будет помещена в диалоге слоев в виде отдельного слоя "Drop-Shadow":

диалог слоев текст с тенью

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

  Теперь для слоя "тень" примените Фильтры - Размывание - Гауссово размывание, отключив перед этим параметр "Сохранять прозрачность". Таким образом мы получили размытый контур нашего текста:

диалог слоев текст с тенью

  Сдвинем тень относительно исходного изображения, используя Изображение - Преобразование - Смещение, на нужное количество точек по X и Y, а затем установите в диалоге слоев нужный уровень непрозрачности. Если Вы использовали теже значения, что при использовании скрипта, то и результат должен получиться таким же.

текст с тенью

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

градиентная тень тень шаблоном

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

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

применение кривых

  Теперь создайте копию этого слоя (копия2) и инвертируйте его (Изображение - Цвета - Инвертировать), Таким образом у нас получилось три слоя: фон - начальное изображение, копия1 и копия2. Разместите их именно в таким порядке: Фон, копия1, копия2.
  Будем работать в слое "копия2". Применим к нему Фильтры - Размывание - Гауссово размывание с нужным радиусом, а затем сместим на нужное расстояние по X и Y. После этого выберите диалоге слоев режим "Умножение" для слоя "копия1".

диалог слоев результат умножения

  Теперь для слоя "фон" в котором находится начальное изображение выберите режим "Разница":

диалог слоев результат разницы

  В итоге мы опять получили падающую тень, но уже не используя прозрачные слои. Если присмотреться, то видно, что на буквах при этом появились неровности, например на букве "С". Частично избавиться от этого можно, применив Фильтры - Размывание - Гауссово размывание радиусом 1 для слоя "копия1":

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

  Успешных Вам экспериментов! Если у Вас возникли какие-либо вопросы или замечания - пишите мне на e-mail: chips@linux.ru.net.

(с) Алексей Селезнев

      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP