ksoftware (ksoftware) wrote,
ksoftware
ksoftware

Фотошоп без палитры инструментов

Вот adrior наехал в прошлом посте:
Просто трендеть про то, что «всё отстой, не удобно, где вообще единороги?» — каждый горазд. Скажи, как бы ты реализовал инструменты в фотошопе?

Ну давайте тогда думать Фотошоп без модальных иструментов. Я начну.

Инструменты эти видать из обычного мира были позаимствованы. Вот есть доска:


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

Если подумать, действия с доской состоят из двух частей. 1) выбираем место на деревяшке, 2) что-то с этим местом делаем. Действие зависит от инструмента. 
 
Чтобы не было модальности инструмент должен быть только один. Такой супер-мега швейцарский нож, который и пилит и сверлит и красит и всё что угодно делает. Тогда мы могли выбрать место на деревяшке, взять этот один иструмент, скомандовать ему: «пили!», — и он стал бы пилить. Или сверлить. Или красить.
 
В реальном мире такой инструмент хер сделаешь. Если сделают, скорее всего это будет какой-то гель с нанороботами. Полил на деревяшку гель, крикнул «пили» и роботы по молекулам разобрали древесину. :)
 
Зато на компе нехуй делать такую штуку замутить. Показал где надо что-то сделать.
 
 
 

А потом скомандовал:  пили! И он отпилил.

 

Перенесёмся в Фотошоп.
Со всеми инструментами мы работаем одинаково: нажали левую кнопку мыши, поводили курсором (или не поводили, то есть поводили на 0 пикселей), отпустили. То есть для каждого действия есть координата нажатия, путь курсора и координата отпускания. Назовем эту штуку элементарным объектом.

Дальше просто. У элементарного объекта может быть множество состояний. Каждое состояние эквивалентно инструменту.

То есть когда мы рисуем — мы не говорим программе что это. Сначала нарисовали элементарный объект, мышку отпустили, потом говорим (хоткеем или в палитре состояний объекта тыкаем иконочку) в каком состоянии его показать.

В теории круто, на практике не будет работать. Во-первых, все привыкли к инструментам. От Фотошопа отвыкнуть еще можно, но от реального мира с молотком и пилой невозможно. Второе, и главное, нет обратной связи. Когда я рисую круг я хочу круг видеть, а не ебучую красную полоску.

Окей, добавляем этой системе то, чего все хотят. То есть перед началом рисования объекта я могу указать состояние. То есть если я выбрал состояние квадрат, то новый элементарный объект рисуется в этом состоянии.

Но это же, блин, режим опять получается?! Получается как бы да. Но этот режим перенесся на сам объект. Это как бы призма через которую мы смотрим на элементарный объект. И призмы можно менять в любой момент времени. То есть круг может стать квадратом или треугольником, треугольник можно уменьшить и снова превратить в квадрат.

Реализация
Смену состояния объекта нужно сделать удобной. Всё должно работать однообразно. Только через хоткеи. Надо к Фотошопу спец. клаву выпускать вроде лебедевского Аукса. Планшеты покупают же чтобы рисовать на компе, вот и для проф. использования Фотошопа тоже будет нужна такая. Или хорошая память, чтобы на обычной клаве хоткеи выучить.




Сценарий
Рассмотрим типичный сценарий: Ты хочешь нарисовать квадрат. Хуйнул U. Нарисовал.

Дальше нужно круг, но ты забыл, что у тебя квадрат. Начинаешь рисовать, видишь — жопа, квадрат вместо круга рисуется. Прямо не отпуская мышки хуйнул O (или какой там хоткей?), квадрат стал кругом, ты его дотянул куда нужно. Готово.

Или не так. Ты опять же круг стал рисовать, а у тебя квадрат. Ты испугался, мышку бросил. У тебя создался квадрать. Ты O нажал, квадрат кругом стал, ты его смасштабировал как нужно. Готово.

Дальше в круге надо дырку резинкой протереть. Начинаем тереть... Бля, круг рисуется. Давим E. Там где мы уже навазюкали мышкой стирается. А если B нажать, то это закрашивается кистью.

Дальше вы :)

P. S.
Я думал, думал, я всё понял. Это Пунтосвитчер для Фотошопа получился. Точная копия, только в пунто два состояния (две раскладки), а в Фотошопе их куча.

Tags: Дизайн, Интерфейс, Фотошоп
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 63 comments