Browser size aware content scaling


Содержание

Масштаб с учетом содержимого / Content-Aware Scalе

Масштаб с учетом содержимого, как и сам Content-Aware, который с недавних пор встроен в фотошоп, где только можно — разновидность умной деформации изображения. Content-Aware Scalе проще показать чем рассказать. Когда вы изменяете масштаб фотографии при помощи Free Transform, пропорции фотографии искажаются. Например при сжатии фотографии, равномерно сжимаются все пиксели. Content-Aware Scalе — сжимает и разжимает фотографию по умному, с учетом содержимого. Фотошоп анализирует изображение, находит на нем основные объекты и «защищает» их от деформации. Фактически сжатие происходит за счет пространств между объектами.

Не всегда, однако, Фотошоп способен выделить объекты на фотографии и обезопасить их от деформации. Для Content-Aware Scalе подходят не все фотографии. Функция приспособлена для широких планов, обширных видов и пейзажей, на который просто выделить важные объекты за счет контрастности цветов. Однако Content-Aware Scalе и в очевидных ситуациях работает на всегда хорошо. В этой заметке я покажу как использовать Content-Aware Scalе, а так же как защитить объекты от искажения.

Использование Content-Aware Scalе

Откройте подходящее изображение в Фотошопе. При открытии простой фотографии с одним слоем, главный и единственный слой является закрытым задним фоном. Чтобы применить Content-Aware Scalе к фотографии, нужно разблокировать слой Layer > New > Layer from Background

Теперь заходите в Edit > Content-Aware Scalе После нажатия, вокруг объекта появится спец рамка с известными якорями. Изображение готово к трансформированию. Рамка работает так же как рамка Free Transform, которой я подробно писал в статье Трансформирование с Free Transform. Но содержимое внутри рамки Content-Aware Scalе деформируется иначе. Начните трансформировать фотографию. Как видите изображение ворот начало искажаться, но мы это поправим.

Я перепробовал массу различных фотографий, и Content-Aware Scalе практически всегда справляется отлично, искажая лишь перспективные планы и сложные конструкции. Вот лишь некоторые из этих фотографий. На изображении оригинальная фотография и два трансформированных изображения при помощи обычного Free Transform и Content Aware Scale

Защита областей фотографии Content-Aware Scalе

В некоторых ситуациях Content-Aware Scalе не справляется с изображением и вот простой пример подобной работы. На фотографии ниже, очевидно, что Content-Aware Scalе не способен правильно расшифровать изогнутый объект. И результат — немного усилий и арка начинает «ехать». Ничего страшного, сейчас мы это быстро поправим.

На панели настроек для Content-Aware Scalе мы видим стандартные настройки для Free Transform которые я подробно описывал в соответствующей статье. Это расположение оси, координаты, относительные координаты, процентное соотношение и прочее. Интерес представляют специфические настройки, которые можно найти только в Content-Aware Scalе. Это поле Amount, форма Protect и кнопочка Protect Skin Tone с изображением человечка.

Фотошоп реализует защиту областей через дополнительные Альфа каналы. Что это? Любое изображение в цветовой модели RGB выстраивается с помощью трех цветов. Красного, зеленого и голубого. Каналы как раз и содержат информацию о соотношении этих цветов. Если вы не разбираетесь в каналах почитайте цикл моих статей Все о каналах в Фотошопе. Альфа каналы — это дополнительные «невидимые» каналы в фотошопе. Они содержат информацию об областях фотографий и имеют массу предназначений. В частности Альфа каналы используются для защиты контента при масштабировании с учетом содержимого.

Чтобы создать альфа канал, вам нужно создать область выделения. Возьмите любой из инструментов выделения, например, Polygonal Lasso Tool и очертите область, которую хотите защитить. Если вы не знаете как выделить объект, прочитайте мои статьи о выделении примитивами и об инструментах Лассо.

Объект выделен, теперь сохраните выделение Select > Save Selection Сохраненные выделения хранятся в панели каналов Channels, которую можно найти в Windows > Chanels Здесь выделенные области принимают вид Альфа каналов с маской, которые можно обратно перевести в выделение. Но нам это не нужно. На панели настроек Content-Aware Scalе в графе Protection выберите сохраненный Альфа слой. Теперь изображение защищено и эта область не деформируется при использовании Content-Aware Scalе.

Вы можете защищать от деформации любые области изображение. Вернемся к Триумфальной арке и попробуем обезопасить её с помощью альфа канала. На этот раз наши усилия дали эффект. Арка полностью изолирована от деформации, а вот окружающие машины помялись.

Цукерберг рекомендует:  Командная строка Linux. Продвинутое владение

Content-Aware Scalе и защита тона кожи


Если вы трансформируете портрет, нажмите кнопочку Protect Skin Tone, чтобы защитить лицо от искажений хотя вполне возможно что Protect Skin Tone отлично справится без этой настройки.

И последнее, шкала Amount является шкалой соотношения между обычным прямым трансформированием и трансформированием с учетом содержимого. Если деформации на фотографии становятся слишком заметны, убавьте значение 100 на 90-80. В этом случае искажения не будут сильно заметны. И это все, что вам нужно знать об инструменте Content-Aware Scalе.

Автор:

Дмитрий Веровски

Арт директор в Red Bear Agency. Мои социальные сети: Вконтакте Фейсбук Инстаграм

Оптимизация кода jQuery, требуемая для темы WordPress

Я пытаюсь реализовать сетку, используя jQuery так же, как изображения Google в теме WordPress на этой странице, http://old.marcofolio.net/webdesign/browser_size_aware_content_scaling.html

Это простая функция, но я не могу ее запустить, потому что она дает мне много ошибок, например: Uncaught ReferenceError: google не определен. script.js? ver = 20200412: 5

Как я могу оптимизировать этот код jQuery, чтобы избежать ошибок?

Изменение масштаба изображения с помощью Content-Aware Scale

Если вам хочется изменить размер какой-либо фотографии, которая была снята с использованием альбомной или портретной ориентации, я могу вам помочь. Adobe Photoshop предлагает вашему вниманию инструмент Content-Aware Scale (Масштабирование с учётом содержимого). Он имеет возможность не только растягивать или удлинять области изображения, но и защищать от искажения другие области, которые вы не хотите затрагивать. Данный инструмент может быть вам полезен, и я буду рад им с вами поделиться.

Прежде чем начать, я должен предупредить вас, что работа с этим инструментом подходит только для определённых типов фотографий. Так как в результате происходит небольшое искажение, поэтому не стоит использовать данный инструмент для фотографий с точными и детализированными краями. Если вы не совсем поняли, что я имею в виду, посмотрите на выбранное мною изображение ниже. Оно идеально подходит для такого вида работы.

Выбор фото

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


Изменение размера холста

Теперь необходимо изменить размер холста. Поскольку нам нужно сделать фотографию квадратной, перейдите в меню Image > Canvas Size (Изображение – Размер холста) и измените высоту. Для своего изображения я изменил значение высоты с 1440 до 1920 пикселей, чтобы она соответствовала ширине. Нажмите OK.

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

Защита от искажения

Метод, который я покажу вам в сегодняшнем уроке, фактически растягивает изображение, придавая ему новую форму. Если сравнить два инструмента Content-Aware Scale (Масштабирование с учётом содержимого) и Free Transform (Свободное трансформирование), то второй не защищает объекты или элементы, которые не нужно искажать. Здесь отсутствует «интеллект». Используя инструмент «Масштабирование с учётом содержимого», вы сможете защитить объекты на изображении, и они не будут искажены.

На моём изображении данным объектом является щенок, для защиты от искажений, его необходимо выделить. Для этого я буду использовать инструмент Quick Selection (W) (Быстрое выделение). Здесь не нужно скрупулёзно и идеально выделять объект, достаточно приблизительное выделение, чтобы щенок не искажался в последующих шагах.

Чтобы быть уверенным, что я выделил всего щенка, я расширю выделение на 10 пикселей, используя меню Select > Modify > Expand (Выделение – Модификация — Расширить).

Сохранение выделения

Теперь необходимо сохранить выделенный объект. Для этого перейдите во вкладку Select > Save Selection (Выделение – Сохранить выделенную область).

В диалоговом окне «Сохранить выделенную область» напишите название «Beagle» и нажмите OK, чтобы сохранить выделенную область на панели «Каналы».

Масштабирование изображения

Следующий шаг, который мне нужно сделать, — это изменить масштаб изображения. Я выделил щенка и сохранил его, теперь можно отменить выделение, перейдя в Select > Deselect (Выделение – Отменить выделение) или, нажав комбинацию клавиш Ctrl + D.

После этого я воспользуюсь инструментом Rectangular Marquee (Прямоугольная область), чтобы выбрать только область изображения (без дополнительных свободных областей). Далее перейдите в меню Edit > Content-Aware Scale (Редактирование – Масштабирование с учётом содержимого). Это активирует ограничивающую рамку трансформации. Я перетащу верхний центральный маркер к верхней части холста, а нижний центральный маркер к нижней части холста. Поскольку я использую последнюю версию Photoshop, мне не нужно удерживать клавишу Shift для сохранения пропорций. В этой версии Adobe полностью изменила эту маленькую особенность.

Растягивая изображение, я заметил, что щенок тоже деформируется, хотя я думал, что «защитил» его от всех изменений.


Причина заключается в том, что мы выделили щенка и сохранили, но не защитили. Чтобы это исправить перейдите на верхнюю панель параметров, кликните по раскрывающейся вкладке Protect (Защищать) и выберите название сохранённой выделенной области «beagle».

В результате область с щенком вернётся в исходное положение и всё будет выглядеть отлично. Нажмите Enter на клавиатуре, чтобы принять все изменения. Посмотрите на окончательное изображение.

Надеюсь, я доступно объяснил, как использовать инструмент Content-Aware Scale (Масштабирование с учётом содержимого) в Adobe Photoshop.

Цукерберг рекомендует:  Обучение - С# или C++

Content-Aware Scale

Adobe Photoshop я использую очень давно, а последнюю версию продукта Photoshop CC вот уже как полгода… Очень хороший инструмент для фотографов. Мощный и удобный. Множество функций, об одной из которых я узнал только сегодня.

Речь идет о расширенной функции Content-Aware (в русской версии «Учет содержимого»). Впервые Content Aware появился в фотошопе версии CS5 и произвел фурор в узких кругах фотографов. �� Эта функция интеллектуально подбирала недостающие кусочки изображения, брав за базовую информацию граничащие пиксели. Работает оно не всегда правильно, но если постараться, то результаты будут качественными.

В последней же версии Photoshop CC появилась дополнительная расширенная функция Content-Aware Scale (в русской версии «Масштаб с учетом содержимого»), которая позволяет, как бы добавлять недостающие части изображения при его расширении. Работает это словно Вы изменяете размер картинки, но расширение или удлинение происходит пропорционально. Можно добавить неба сверху или травы снизу на снимке. Что бы использовать функцию, нужно выделить какую-то часть снимка, или весь снимок, и в меню Edit выбрать Content-Aware Scale.

На видео ниже показано, как это работает — очень интересно! Хоть видео и на английском, но звук можно отключить вообще. ��

Интересно ведь, когда из такой фотографии совершенно просто выходит вот такая:

Content Aware Scaling

Part of a series on Photoshop. [View Related Entries]

PROTIP: Press ‘i’ to view the image gallery, ‘v’ to view the video gallery, or ‘r’ to view a random entry.

About

Content Aware Scaling is an Adobe Photoshop tool used to create animated GIFs in which the subject is warped and distorted within the frame.


Origin

Adobe Photoshop has included Content Aware Scaling as a tool since the release of Photoshop CS4 on October 15th, 2008. The main principle of content aware scaling is applying an algorthm to an image to detect paths of least importance. This paths can be deleted or added to change the image size without changing the important parts. [1]

Original Image

Aspect Ratio Scaling Cropped Image Seam-carved Image

On August 21st, 2007, Youtuber and businessman Siim Teller uploaded a demo video offering a step-by-step instruction of the process.

Spread

On Feb 28th, 2012, Something Awful user Grei Skuring started a new thread to state that he found a new way to messing around with pictures. It was basically turning stock photos into something funny with the content aware function. [6]

Other users participate the thread with different edits of celebrities, stock photos and other random images.

On the same forum, another user Radock uploaded an animated version of the content aware scale(shown below left) and gif gain an attention by other users. One of the old user Everdraed uploaded a content aware scaling gif version of Steve Buscemi(shown below right). On the following days, it became a fad on Something Awful and featured on Photoshop Phr >[7] .

thx to the Grei Skuring himself for the information

On March 4th, 2012, Tumblr user chickensnack [5] posted two animated GIFs made with Content Aware Scaling, including a Colgate toothpaste ad (shown below, left) and a part of the «garbage day» scene from the 1987 horror movie Silent Night, Deadly Night Part 2 (shown below, right).

On February 12th, 2013, animator Neil Cicierega [2] published an instructional gu >[4] member Butters posted several Content Aware Scaling animations in an animated GIF thread. On October 2nd, Imgur [3] user strontium uploaded a gallery of animated GIFs created with Content Aware Scaling. On October 21st, YouTuber VicariousPotato uploaded a Content Aware Scaling parody of the video QualityTime2.avi by YouTubers El-Cid & Egoraptor (shown below).

Оптимизация кода jQuery, требуемая для темы WordPress

Я пытаюсь реализовать сетку с использованием jQuery так же, как изображения Google в теме WordPress на этой странице, http://old.marcofolio.net/webdesign/browser_size_aware_content_scaling.html


Это простая функция, но я не могу запускать ее, потому что она дает мне много ошибок, например: Uncaught ReferenceError: google не определен в script.js? Ver = 20200412: 5

Как я могу оптимизировать этот код jQuery, чтобы избежать ошибок?

Browser size aware content scaling

  • хорошая скорость обработки,
  • неплохое качество результата,
  • возможность обрабатывать файлы больших размеров
  • большая стоимость программы,
  • сложность функций защиты и удаления — очень много действий, до которых без описания догадаться сложно.

Рассморены три вида изменений размеров: сжатие, растяжение, сжатие с защитой.

Сжатие изображений

Так выглядят исходная фотография и результат:

Для того, чтобы сжать изображение, необходимо:
1. Открыть фотографию.
2. Выделить всю область фотографии Select /All.
3. Перейти в функцию изменения изображения Edit/ Content-Aware Scaling.

4. Мышкой ужать фотографию до нужного размера.

5. Обрезать белую ненужную часть фотографии и подтвердить трансформацию (кнопка Apply.)

Растяжение изображений


Исходная фотография и результат:

Для того, чтобы растянуть изображение, необходимо:
1. Открыть фотографию.
2. Увеличить размер холста изображения Image/ Canvas Size. до необходимых размеров.

3. Выделить область фотографии, которую необходимо растянуть.

4. Перейти в функцию изменения изображения Edit/ Content-Aware Scaling.

5. Мышкой растянуть фотографию до размера холста.

6. Подтвердить трансформацию (кнопка Apply).

Защита областей от искажений

Функция Content-Aware Scaling может корректно распознавать не все объекты. Если у вас сложная фотография, например, с группой людей, то добиться нужного результата можно путем защиты областей.

Ужимая данную фотографию, программа не распознала фотографа, вследствие чего появились искажения человека.

Но мы «защитили» часть изображения от сжатия:

Для того, чтобы защитить часть изображения необходимо:
1. Открыть фотографию.
2. Войти в режим быстрой маски Select > Edit in Quick Mask Mode. Выбрать черный цвет в качестве рабочего (горячая клавиша D) и зарисовать кистью нужные области, после чего выйти из режима быстрой маски (горячая клавиша Q).

3. Создать защитный канал.

Для этого необходимо выбрать в панели Channel команду New Spot Channel. Новый канал используется только как маска для защиты областей от масштабирования, поэтому можно отключить его видимость.

4. Выделить масштабируемую область инструментом Rectangular Marquee
5. Активировать режим трансформации Edit>Content Aware Scale
6. В панели параметров выбрать в раскрывающемся меню Protect созданный канал с сюжетно важными областями.


7. Изменить изображение. Защищенные области остались нетронуты искажениями.

8. Подтвердить трансформацию (кнопка Apply).

Сделай сам

Популярные публикации

Последние комментарии

Урок по Photoshop CS5 — функция Content Aware Scale

Урок по Photoshop CS5 — функция Content Aware Scale (Масштаб с учетом содержимого)

Представляю Вашему вниманию небольшой графический и видео урок по Photoshop CS5 — функция Content Aware Scale (Масштаб с учетом содержимого). Функция позволяет быстро и без дальнейшей ретуши, изменять фотографию по ширине.

Не судите строго, урок в таком ракурсе представляю первый раз — своего рода дебют. Фотография для урока взята из Интернета.

1. Открываем фотографию, которую хотим изменить. Через функцию «размер изображения» просматриваем параметры фотографии.

В моем примере: размер фотографии 21,48, а менять ширину фотографии я буду до 33 см.

2. Далее через функцию «кадрирования» я увеличиваю поля фотографии. Увеличение происходит чисто пропорционально.

Для этого, как только Вы активизировали функцию «кадрирования», в панели свойств данной функции введите нужный параметр (у меня он — ширина- 33см.) Рисунок №3.

4. Активизирую функцию «лассо» и выделяю ту область, которую необходимо защитить от любых воздействия, изменений.


5. Переходим в палитру «Каналы» и нажимаем функцию «Сохранить выделенную область в новом канале». В палитре «Каналы» Вы должны увидеть новый канал «Альфа1». Снимаем выделение.

6. Открываем меню «Редактирование» и выбираем функцию «Масштаб с учетом содержимого».

7. Обязательно!! В панели свойств находим функцию «защитить» и выбираем наш канал -«Альфа1».

8. После этого растягиваем поля фотографии слева и справа. Нажимаем «Enter» и результат готов!!

Для сравнения примеры фотографий с данной функцией и без.

Видео урок на данную тему:

Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов

Оптимизация кода jQuery, требуемая для темы WordPress

I’m trying to implement a grid using jQuery just like Google images in a WordPress theme based on this page, http://old.marcofolio.net/webdesign/browser_size_aware_content_scaling.html

Это простая функция, но я не могу работать, потому что она дает мне много ошибок, например: Uncaught ReferenceError: Google не определен в script.js? ver = 20200412: 5

Как я могу оптимизировать этот код jQuery, чтобы избежать ошибок?

Photoshop For All

Сжатие изображений

Так выглядят исходная фотография и результат:


Для того, чтобы сжать изображение, необходимо:
1. Открыть фотографию.
2. Выделить всю область фотографии Select /All.
3. Перейти в функцию изменения изображения Edit/ Content-Aware Scaling.

4. Мышкой ужать фотографию до нужного размера.

5. Обрезать белую ненужную часть фотографии и подтвердить трансформацию (кнопка Apply.)
Растяжение изображений

Исходная фотография и результат:

Для того, чтобы растянуть изображение, необходимо:
1. Открыть фотографию.
2. Увеличить размер холста изображения Image/ Canvas Size… до необходимых размеров.

3. Выделить область фотографии, которую необходимо растянуть.

4. Перейти в функцию изменения изображения Edit/ Content-Aware Scaling.
5. Мышкой растянуть фотографию до размера холста.

6. Подтвердить трансформацию (кнопка Apply).

Защита областей от искажений

Функция Content-Aware Scaling может корректно распознавать не все объекты. Если у вас сложная фотография, например, с группой людей, то добиться нужного результата можно путем защиты областей.
Ужимая данную фотографию, программа не распознала фотографа, вследствие чего появились искажения человека.
Но мы “защитили” часть изображения от сжатия:

Для того, чтобы защитить часть изображения необходимо:
1. Открыть фотографию.
2. Войти в режим быстрой маски Select > Edit in Quick Mask Mode. Выбрать черный цвет в качестве рабочего (горячая клавиша D) и зарисовать кистью нужные области, после чего выйти из режима быстрой маски (горячая клавиша Q).

3. Создать защитный канал.
Для этого необходимо выбрать в панели Channel команду New Spot Channel. Новый канал используется только как маска для защиты областей от масштабирования, поэтому можно отключить его видимость.

4. Выделить масштабируемую область инструментом Rectangular Marquee
5. Активировать режим трансформации Edit>Content Aware Scale
6. В панели параметров выбрать в раскрывающемся меню Protect созданный канал с сюжетно важными областями.

7. Изменить изображение. Защищенные области остались нетронуты искажениями.

8. Подтвердить трансформацию (кнопка Apply).

Цукерберг рекомендует:  Content - Как с помощью php брать часть контента с другой страницы
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих