AIMP Forum

AIMP for Windows => Предложения / Suggestions => Skin Editor, Skin Engine => Skin Engine => Topic started by: Zhenya on June 30, 2020, 23:40:19

Title: Настройки тени шрифта: опция выбивания тени символами
Post by: Zhenya on June 30, 2020, 23:40:19
Сейчас, если цвет шрифта полупрозрачный и есть тень, то результат выглядит плохо, так как символы отрисовываются поверх тени.

На картинке цвет шрифта белый с Alpha = 128.
Сверху — задуманное, снизу — получившееся в редакторе:

(https://i.imgur.com/N1GNgw3.png)

В Photoshop есть опция для этого случая:

(https://i.imgur.com/WENRUYy.png)

Предлагаю добавить такую опцию в настройки тени в этом окне:

(https://i.imgur.com/JMHiIhc.png)



Похоже это режим альфа-композитинга Source Atop:
— https://en.wikipedia.org/wiki/Alpha_compositing#Straight_versus_premultiplied
— https://developer.android.com/reference/android/graphics/PorterDuff.Mode#SRC_ATOP
Title: Re: Настройки тени шрифта: опция выбивания тени символами
Post by: Zhenya on July 01, 2020, 16:30:40
Что-то голосование не идёт. Поменял картинку.
Сабж актуален не только для крупного текста, а для полупрозрачного текста любого размера с тенью.
Title: Re: Настройки тени шрифта: опция выбивания тени символами
Post by: Black_AVP on July 01, 2020, 19:09:57
Что-то голосование не идёт.
Мне не приходилось пользоваться эффектами шрифтов в скинах, но если надо, то ЗА.

В ФШ та опция включена по умолчанию, многие даже о ней не подозревают, считая, что иначе и быть не может.
Title: Re: Настройки тени шрифта: опция выбивания тени символами
Post by: Zhenya on July 01, 2020, 20:56:56
Похоже это режим альфа-композитинга Source Atop:
— https://en.wikipedia.org/wiki/Alpha_compositing#Straight_versus_premultiplied
— https://developer.android.com/reference/android/graphics/PorterDuff.Mode#SRC_ATOP

Хотя нет. Если был бы Source Atop, то тогда символы обрезались бы границами тени.
Скорее это обычный Source Over, но с изменением — там, где Source (символы) накладывается на Destination (тень), отрисовывается только Source (символы).

Тут в статье есть интерактивные примеры — https://ciechanow.ski/alpha-compositing/#over
Перевод статьи на Хабре — https://habr.com/ru/post/468067/
Title: Re: Настройки тени шрифта: опция выбивания тени символами
Post by: Black_AVP on July 01, 2020, 21:42:41
ИМХО, всё намного проще - сама фигура или тот же текст является маской для тени.
В ФШ того же эффекта можно достичь сделав векторную маску слоя и меняя её плотность. А в стилях, меняя прозрачность заливки, меняем плотность маски, коей сама фигура и является.
Во вложении файлик (PSD). Нужно выбрать маску группы, вызвать окно Properties, двигая ползунок Density, можно менять прозрачность текста. При этом тени внутри текста не будет.
Title: Re: Настройки тени шрифта: опция выбивания тени символами
Post by: Zhenya on July 01, 2020, 22:43:26
ИМХО, всё намного проще - сама фигура или тот же текст является маской для тени.

Да, получается то, что нужно. Спасибо за файл с примером.
Title: Re: Настройки тени шрифта: опция выбивания тени символами
Post by: Black_AVP on July 02, 2020, 09:34:12
Да, получается то, что нужно.
Чтоб полностью сымитировать нужное поведение поверх нужен ещё один слой с тем же текстом. При этом в стилях основного слоя ни Fill Opacity, ни опция Layer Knocks Out Drop Shadow на результат влиять не будут. Нужный эффект будет достигаться изменением  Opacity или Fill верхнего слоя. Файл перезалил.
Возможно, на самом деле так и делается: сначала выводится размытый текст (то, что мы воспринимаем как тень) с вырезом по его же маске, потом тот же текст нужной плотности и цвета.
Title: Re: Настройки тени шрифта: опция выбивания тени символами
Post by: TurboDISCO Adept on July 08, 2020, 18:47:26
Ну - тоже "+".
Интересно бы попробовать полупрозрачный текст со свчением/тенью на "пиксельной" текстуре вкупе с такой же маской... так, чтобы свечение/тень не забивала собой сами символы.