понедельник, 16 мая 2011 г.

Реализация Singelton на Python

Столкнулся я с задачкой реализовать патерн Singelton на языке программирования Python 3.1

Единственное рабочее решение я нашел на stackoverflow. Его то я вам и покажу. В питоне нельзя скрыть конструктор, по этому предлагается переопределить метод __new__, который вызывается каждый раз при создании обьекта.

class Singleton(object):
    _instance = None
    def __new__(cls, *args, **kwargs):
        if not cls._instance:
            cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
        return cls._instance


if __name__ == '__main__':
    s1=Singleton()
    s2=Singleton()
    if(id(s1)==id(s2)):
        print "Same"
    else:
        print "Different"

среда, 11 мая 2011 г.

Создание реалистичного ледяного текст-эффекта при помощи текстуры мха в Photoshop

В этом уроке я покажу вам как создать реалистичный ледяной текст-эффект при помощи текстуры мха в Photoshop. Этот урок рассчитан на новичков, в нем содержится масса полезных советов по добавлению текстур, цветокоррекции и технике выделения. Ближе к концу урока я представлю вам инструмент, который я часто использую для коррекции цветов - Selective Color adjustment.


Создание текстурного ледяного текста



Материалы для урока:

Текстура бетона
Текстура замерзшей земли
Кисти


Шаг 1

Создайте новый документ (для этого урока размер не имеет значения), цвет фона – черный. Далее создайте новый слой(Ctrl+Shift+N) и при помощи инструмента Lasso Tool (параметр feather должен быть =40px) создайте вот такое выделение:

Создание текстурного ледяного текста

Измените цвет переднего и заднего фона на черный и белый. Затем выберите Filter > Render > Clouds (убедитесь, что вы находитесь на только что созданном слое):

Создание текстурного ледяного текста

...и примените фильтр. Вот, что у вас получится:

Создание текстурного ледяного текста

Как видите, из-за того, что мы установили значение параметра feather = 40 px, края области у нас получились довольно мягкими:

Создание текстурного ледяного текста

Находясь на этом же слое, выберите Image > Adjustments > Levels:

Создание текстурного ледяного текста

Установите следующие настройки:

Создание текстурного ледяного текста

Далее выберите инструмент Ластик – Eraser Tool (кисть мягкая (hardness = 0%), круглая, размер кисти – большой) и пройдитесь ластиком по краям слоя с облаками, чтобы переход между черным фоном и слоем был еще более плавным:

Создание текстурного ледяного текста

Теперь вы можете трансформировать слой как вам угодно при помощи трансформации (Ctrl+T), не беспокоясь о краях слоя:

Создание текстурного ледяного текста

Вы можете продублировать этот слой несколько раз (нажав Ctrl+J) и расположить эти слои в разных местах вашей работы, автор разместил их следующим образом:

Создание текстурного ледяного текста

Шаг 2

Используя любой шрифт, который вам нравится, напишите букву посередине изображения:

Создание текстурного ледяного текста

Применим следующие настройки слоя (Layer Style) к текстовому слою (для того, чтобы открыть окно с настройками, кликните дважды по текстовому слою на панели слоев):

Bevel and Emboss

Создание текстурного ледяного текста

Gradient Overlay

Создание текстурного ледяного текста

Добавьте маску текстовому слою (кликните на иконке “Add layer mask” внизу панели слоев) и при помощи набора кистей «Dirt brushes» и кисти «chalk» изобразите на маске слоя что-то вроде этого (чтобы на маске было удобнее рисовать, кликните на ней, зажав ALT):

Создание текстурного ледяного текста

Как видите, верх буквы теперь выглядит потрескавшимся, а сама буква как будто состоит изо льда – и все это благодаря маске слоя smile.gif

Создание текстурного ледяного текста

Создание текстурного ледяного текста

А вот общей вид буквы:

Создание текстурного ледяного текста

Шаг 3

Теперь давайте добавим текстуру. Перетащите изображение с текстурой бетона в вашу работу и загрузите выделение слоя с буквой (для этого кликните по иконке слоя на панели слоев, удерживая Ctrl):

Создание текстурного ледяного текста

Перейдите на слой с текстурой, выберите Select > Inverse и нажмите кнопку Delete. Сдвиньте текстуру, как показано на рисунке при помощи Move Tool (V):

Создание текстурного ледяного текста

Измените режим наложения (Blending mode) текстуры с бетоном на Overlay:

Создание текстурного ледяного текста

Создание текстурного ледяного текста

При помощи жесткого ластика (hardness = 100%) сотрите края текстуры бетона так, чтобы поверхность буквы еще больше напоминала лед:

Создание текстурного ледяного текста

Теперь создадим 2 корректирующих слоя и переведем их в режим обтравочной маски для слоя с текстурой бетона.
Для того, чтобы создать корректирующий слой, выберите Layer > New Adjustment Layer > Curves и установите следующие настройки:

Создание текстурного ледяного текста

Добавим следующий корректирующий слой Black and White (Layer > New Adjustment Layer > Black and White) и установим следующие настройки:

Создание текстурного ледяного текста

Уменьшите Opacity (Прозрачность) корректирующего слоя Black and White до 50%.
Чтобы перевести оба слоя в режим обтравочной маски, кликните по каждому слою правой кнопкой на панели слоев и выберите “Create Clipping Mask”.
Вот, что у вас должно получиться:

Создание текстурного ледяного текста

Шаг 4

Теперь давайте добавим текстуру замерзшей земли. Перетащите текстуру в ваш документ, загрузите выделение слоя с буквой (для этого кликните по иконке слоя на панели слоев, удерживая Ctrl). Перейдите на слой с текстурой, выберите Select > Inverse и нажмите кнопку Delete.
Получим следующее:

Создание текстурного ледяного текста

Измените режим наложения (Blending mode) текстуры на Overlay:

Создание текстурного ледяного текста

Снова создадим 2 корректирующих слоя и переведем их в режим обтравочной маски для этой текстуры.
Корректирующий слой Black and white (уменьшите Opacity (Прозрачность) слоя до 60%). Настройки слоя:

Создание текстурного ледяного текста

Корректирующий слой Levels. Настройки слоя:

Создание текстурного ледяного текста

Вы также можете добавить разлетающихся частиц (кисти с частицами вы можете поискать в интернете) и облаков вокруг вашей буквы:

Создание текстурного ледяного текста

Шаг 5

Итак, мы почти закончили. Последний штрих – сделаем изображение более резким. Слейте все слои в один, выделив их на панели слоев и нажав Ctrl+E. Затем выберите Filter > Noise > Reduce Noise и установите следующие настройки:

Создание текстурного ледяного текста

Как видите, текстура стала еще более «морозной» smile.gif

Создание текстурного ледяного текста

Я также использовал инструмент Selective Color, чтобы немного скорректировать цвета.
С помощью инструмента Selective Color, вы можете изменять отдельные цвета, не затрагивая остальную часть изображения.

Создание текстурного ледяного текста

К примеру, в моей работе присутствует голубой и нейтральный цвет, поэтому я выбираю цвета “Cyans” и “Neutral”, и корректирую их значения:

Создание текстурного ледяного текста

Создание текстурного ледяного текста

Как видите, голубые/синие цвета стали более яркими:

Создание текстурного ледяного текста

А что касается нейтральных цветов – я придал им желтый оттенок:

Создание текстурного ледяного текста

Очень удобно использовать инструмент Selective color, если вам нужно заменить несколько цветов по отдельности в вашей работе.


Финальный результат! 

Создание текстурного ледяного текста


Источник: psdvault

Создание из фото поддельной миниатюры

На мой взгляд очень интересный урок. Я так до сих пор оторваться не могу smile.gif
Начнем?
Урок предназначен для пользователей Photoshop CS или Photoshop CS2.

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

Создание из фото поддельной миниатюры *

2. Теперь нажимаем "Q" (Quick Mask), затем нажимаем "D", чтобы возвратить первоночальные цвета (черный и белый). Черный-главный, белый второстепенный. Выбираем Gradient tool gradient.gif , а затем Reflected Gradient (см. скрин)

Создание из фото поддельной миниатюры *

3. Выбираем на фотографии фокус - на нашей фотографии это поезд. Нажимаем shift и тянем gradient tool с поезда и наверх, отпускаем.

Создание из фото поддельной миниатюры *

Получаем следующее:

Создание из фото поддельной миниатюры *

4. Опять нажимаем "Q", появились следующие выделения:

Создание из фото поддельной миниатюры *

5. Идем "Filters"-"Blur"-"Lens Blur". Смотрим на скрин и ставим следующие параметры:

Создание из фото поддельной миниатюры *

6. Это все. Но я придаю также больше яркости. Сделать это можно так:
Зажимаем Ctrl+u и двигает ползунок Saturation вправо (на 10-20)

Создание из фото поддельной миниатюры *

А вот и результат: smile.gif

Создание из фото поддельной миниатюры *

Удачной работы wink.gif


Автор: Jason Mitsios
Перевод: Спирит

** мой результат:
Создание из фото поддельной миниатюры