2012-06-22 2 views
4

Я пытаюсь реализовать режимы смешения бедных людей для CSS в ожидании поддержки браузеров. (Препроцессор CSS, который я использую, - это Stylus, что не важно для обсуждения.) Я нашел a source for blending mode calculations из спецификации SVG W3C, но некоторые из уравнений дают совершенно разные результаты от ожидаемого - в частности, hard-light, soft-light , color-dodge, и color-burn.формула для смешивания для жесткого света, мягкого света, цветного уклона, цветного ожога?

Кто-нибудь знает более правильные, надежные формулы для режимов смешивания? Я преуспеваю в RGB-каналах каждого цвета по их альфе.

Вот что у меня есть. https://github.com/pdaoust/stylus-helpers/blob/master/blend.styl

+0

Престола мой ответ [здесь] (http://stackoverflow.com/questions/10713120/alpha-blending-layers-for-linear-light-mode/10713364#10713364), который указывает на спецификацию Adobe о том, как работает альфа-смешивание. Он включает вышеупомянутые режимы. – user1118321

+0

@ user1118321 Спасибо за ссылку! Однако спецификация, кажется, просто описывает эффекты вышеупомянутых мод, а не дает формулы для них. –

+0

Странно, похоже, некоторые из них, но не все. Я думал, что у них все есть. Dang. – user1118321

ответ

0

Пройдите по этой ссылке. Формулы очень просты.

http://en.wikipedia.org/wiki/Blend_modes

  • Soft Light имеет полное описание.
  • HardLight - то же самое на Overlay, но с обращенными изображениями. Следуйте формуле Overlay.
  • "Режим наложения Color Dodge делит нижний слой на перевернутый верхний слой"
Смежные вопросы