Действительно ли невозможно иметь градиент без полос?


37

Я изо всех сил пытаюсь создать градиент без полос. Я посмотрел все видео на YT и попробовал: Bluring всех видов, шум, сглаживание, битовая глубина, Brush и делать градиент в Illustrator.

Все не получается, и я всегда вижу полосу.

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

Ответы:


28

Шум и дизеринг обычно дают довольно хорошие результаты. Есть пара вещей, которые могут сделать «объединение» более очевидным:

  • Цвета «старт» и «стоп»
  • размер градиента (полосатость становится более заметной, когда точки «начало» и «остановка» удаляются друг от друга - градиент необходимо «проецировать» на большее количество образцов с постоянным числом доступных значений яркости),
  • неправильно откалиброванный / некачественный монитор (пробовали ли вы просматривать градиенты на разных мониторах?),
  • уменьшенное цветовое разрешение «на канал» в настройках системы (в настоящее время кажется маловероятным, поскольку большинство систем используют настройки 32 бит / с, но все же это возможно),
  • «Дикие» настройки гаммы видеокарты (например, в «панели управления видеокартой» или в загрузчике гаммы, например в Adobe Gamma Loader),
  • слишком «агрессивный» профиль монитора (опять же тест «просмотр на других мониторах» должен дать некоторые подсказки об этом),
  • уменьшенная битовая глубина изображения.

Также было бы полезно узнать, какое у вас целевое устройство. Разница в том, насколько вы можете «распределить» свой градиент, независимо от того, нацеливаетесь ли вы на печать (какой тип печати также имеет значение, например: экраны типа AM, псевдостохастические, стохастические), на мониторы компьютеров или мобильные устройства. Это также имеет значение, если вы используете растровую или векторную графику.

Итог: это довольно сложная тема :).


1
Вы на 100% правы в том, что это зависит от монитора. Прочитав ваш ответ, я решил протестировать синее изображение (см. Обновленный ОП) на моем iPad3. Качество градиента на iPad3 безупречно. Дело в том, что я не могу контролировать мониторы всех пользователей интернета.
Зарегистрированный пользователь

1
Да, на белом градиенте я вижу полосы, но на синем градиенте я не вижу никаких полос
Райан

@ Райан Это не белый, это прозрачный. Вы должны взять его и добавить слой (цвет: 050b3c) внизу в PS. Затем начните играть с непрозрачностью нижнего слоя и посмотрите, как изменяется градиентная полоса.
Зарегистрированный пользователь

@RegisteredUser Мне все равно, когда ответ остается тем же, что зависит от указанных выше качеств, а также от настроек монитора.
Райан

2
Комплексный ответ. Я думаю, что, возможно, стоит указать, откуда возникла проблема и почему нужны такие хитрости, как сглаживание: 8-битный цвет просто не дает достаточно шагов, чтобы надежно создать иллюзию плавно меняющегося градиента.
e100

13

Да, возможно создавать качественные градиенты. Есть много факторов, чтобы принять во внимание, хотя.

  • Фотошоп не работает и не может колебаться на альфа-канале. Вам лучше использовать сплошные цвета, если это возможно. Также старайтесь избегать непрозрачности слоя. Создайте градиент, используя нужные вам цвета. Редактировать: Photoshop CC 2014.2 добавил дизеринг альфа-канала. :)

  • Могут быть некоторые накопительные ошибки округления, если ваш графический редактор использует глубину цвета 8 бит на канал. Лучший качественный способ создания градиента, созданного из нескольких слоев (с режимами наложения и непрозрачностью при воспроизведении), - это рендеринг с большей битовой глубиной, а затем, если возможно, сглаживание до 8 бит на канал. Фотошоп может сделать это. Если вам нужен сплошной градиент, созданный из одного слоя, 8 бит на канал - это нормально (16 бит удобен только при смешивании слоев).

  • Дизеринг действительно, очень важен. (См. Предыдущий пункт.)

  • Не используйте Illustrator. Это 8 бит на канал и не колеблется.

  • Масштабирование изображения испортит хорошую работу по сглаживанию, поэтому вам нужно с самого начала создать изображение с правильным размером.

  • Большинство ноутбуков имеют дисплеи по 6 бит на канал с анимированными трюками, чтобы сделать их лучше. Очевидно, вы боретесь с дисплеем, и сглаживание результатов может быть невозможным из-за дисплея. Новый MacBook Pro с дисплеем Retina является заметным исключением - он имеет 24-битный IPS-дисплей. Изменить: Ноутбук дисплеи немного улучшились с этого поста!

  • Как предположил thebodzio, другие процессы на уровне ОС также могут изменить ситуацию.

  • Если вы используете 16-битный режим в Photoshop, протестируйте его в 8-битном режиме. Есть определенные обстоятельства, когда 8-битный режим выглядит лучше, и другие обстоятельства, когда 16-битный режим лучше. Основное правило: если у вас есть один градиент, используйте 8 бит с дизерингом. Если у вас есть несколько слоев и градиентов, использующих непрозрачность, используйте 16-битный режим.


Глядя на ваше изображение, кажется, что происходит какое-то другое разрушительное преобразование. Вы используете Save For Web? Включен ли режим конвертации в sRGB? Если это так, выключите его (это самый простой способ испортить качество ваших изображений и одновременно внести разрушительные изменения цвета).


+1 за ваш потрясающий ответ, но с тех пор я продвинулся вперед. Прежде всего, ваш вариант генерации градиента без альфа не годится, потому что нужное мне изображение должно быть прозрачным, чтобы я мог использовать его на веб-странице, наложенной на всю страницу. Также после прочтения принятого ответа я решил отказаться от PS и программно создать градиент, используя радиальный градиент CSS ( colorzilla.com/gradient-editor ). К сожалению, CSS не помог совсем, и градиент продолжает сильно перекрываться.
Зарегистрированный пользователь

На самом деле вы можете создать альфа-канал самостоятельно в Photoshop, так что вы можете изменить альфа-канал (вручную). CSS - хорошее решение. Если вы используете ноутбук, имейте в виду, что на вашем экране могут появляться полосы, но другие могут видеть плавный градиент. Рендеринг браузера также будет фактором.
Марк Эдвардс

5

Марк Эдвардс пишет, что «Photoshop не работает и не может колебаться на альфа-канале». Если это так, вы можете подделать его, создав размытый градиент от белого к черному, а затем сделав белый прозрачным. Увы, я давно не пользовался Photoshop, но общая идея была бы примерно такой:

  1. Создайте 16-битный градиент от черного до белого.
  2. Размягчить его до 8-бит.
  3. Создайте сплошной черный слой и добавьте к нему маску слоя.
  4. Скопируйте размытый градиент в маску слоя (и инвертируйте его, если необходимо).
  5. Примените маску слоя, чтобы получить градиент от черного до прозрачного.

(Да, я знаю, что это скорее комментарий, чем ответ, но он слишком длинный, чтобы поместиться в поле для комментариев.)


Да, вы определенно можете использовать черно-белый градиент на канале, затем загрузить его как выделение, затем создать новый слой и заполнить выделение. Вы получите градиент с размытой альфой. Также я отредактирую свой ответ ... 16-битный режим немного странный. Это не всегда лучшее качество для градиентов.
Марк Эдвардс

Спасибо за ответ. Оказывается, что проблема градиента на самом деле не из-за PS, потому что: 1) изображение выглядит хорошо на iPad3. 2) CSS-градиент также выглядит на мониторе.
Зарегистрированный пользователь

CSS-градиенты не мешают большинству браузеров. Грустно, но правда.
aaaidan

4

Я обнаружил аналогичную проблему в Illustrator (у которого даже нет опции «дизеринга» для градиентов). Звучит немного безумно, но я обхожу это, применяя «стеклянный» фильтр, который может приблизиться к дизерингу с правильными параметрами.

Я использую:

  • Искажение: 2 (это зависит от размера ваших групп).
  • Гладкость: 1
  • Текстура: матовая (самая шумная встроенная текстура)
  • Масштабирование: 50%

В Illustrator это приводит к появлению белых пятен на краях вашего объекта, которые можно исправить с помощью обтравочной маски.

Полученные результаты? «Размытый» один справа. Это добавляет немного шумной текстуры, но я думаю, что это лучше, чем группы в большинстве случаев.

Ленточный градиент колебались


3

Основным отличием при создании градиентов является использование слоя градиента, который имеет встроенную опцию дизеринга («Слой»> «Новый слой заливки»> «Градиент») и остается настраиваемым. С этого момента вы можете конвертировать в умный слой и добавлять любые эффекты, которые вам нужны для дальнейшего улучшения, но это дает вам гораздо лучшую отправную точку.


Опция дизеринга для градиентных слоев сглаживает только красный, зеленый и синий каналы, но не альфа (к сожалению).
Марк Эдвардс

2
Я не знал этого. Прозрачность также может быть достигнута через маску слоя. Итак, как насчет создания градиента от черного к белому и использования его в качестве маски слоя?
KMSTR

2

введите описание изображения здесь

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

введите описание изображения здесь

Слева направо первый вид наиболее заметен; нет дизеринг присутствует. Второй - тот же градиент с дизерингом; намного лучше. А третий, справа, имеет дизеринг, и я дополнительно добавил слой шума, фактически усилив дизеринг. Смотрите комментарий, почему вы бы добавили дополнительный шум. См. «Дополнительные заметки» о том, как дизеринг прозрачности / альфа-канала

Комментарий

Я делал большие визуализации градиентов с минимальным изменением цвета, и полосы были очень заметны без сглаживания, как в первом примере. Затем я узнал о дизеринге, и он сильно улучшился, это второй пример. Но на большом рендеринге (менее заметном здесь) все еще были некоторые полосы. Мне нужен был более агрессивный дизеринг. Поэтому я скопировал * слой градиента, растеризовал его и добавил небольшое количество (0,1%) однородного монохромного шума. Это значительно улучшило масштабное изображение. Это третий пример. Улучшение от дополнительного шума (что по сути является сглаживанием) менее заметно в небольшом масштабе, как в этом примере, но это было очень важно при большом рендеринге, таком как тот, над которым я работал.

* Я создал отдельный слой для шума, потому что таким образом я мог контролировать шум с непрозрачностью нового слоя.

Дополнительные замечания

  • Я только обсудил фактическое изображение. Аппаратная и водительская сторона вещей также может влиять; другое устройство может отображать вещи по-другому. Другие ответы хорошо это охватили.

  • Фотошоп не сглаживает альфа-канал. Если вам нужно дизеринг по прозрачности, вам нужно вручную дизерировать альфа-канал. Я бы использовал слой маски для создания прозрачности, так что это будет только вопрос сглаживания этого слоя маски. И при работе с масками слоя не забудьте ALT+ left clickна маску слоя, чтобы отобразить ее.


2

Очень полезная статья на тему: http://nomorebanding.com/cache

Вот суть:

Идея состоит в том, чтобы создать градиент в 16-битном режиме, а затем преобразовать его в 8-битном режиме, следуя процедуре ручного дизеринга (используя специальный слой дизеринга). Вот процедура:

1. Отключите дизеринг по умолчанию («Редактирование»> «Снять настройки цвета», «Снять дизеринг»), потому что мы собираемся создать собственный «движок» дизеринга.

2. Создайте новый слой (должен быть самым верхним).

3. Заполните его твердым серым на 50%.

4.Фильтр> Шум> Добавить шум. (Сумма 25%, Распределение равномерно, Монохроматически проверено)

  1. Нажмите Ctrl + F, чтобы повторить шумовой фильтр на том же слое.

6. Установите слой в линейный свет.

7. В палитре слоев установите непрозрачность 1%, непрозрачность заливки 19%.

Важно: Вам нужно сгладить изображение (включая слой шума) в 16-битном режиме и только затем преобразовать в 8-битный режим для экспорта. Если вы сделаете это наоборот, сначала вы потеряете всю 16-битную информацию, а затем уровень шума не будет делать абсолютно ничего в 8 битах. Кроме того, учитывайте настройку «Использовать дизеринг» в Photoshop. Вы можете использовать либо слой, либо собственный метод дизеринга, но не используйте оба во время преобразования, это приводит к удвоению необходимого вам шума.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.