У меня есть ссылочный образ эффекта, который я пытаюсь достичь с помощью SVG.
В Photoshop эффект может быть достигнут с использованием 100% непрозрачности с режимом наложения, установленным на "multiply"
Цвета имеют шестнадцатеричные значения:
красный: # EA312F, синий: # 3A5BA6 и перекрывающаяся область: # 35111F
Я попытался использовать несколько подходов с использованием SVG-фильтров для достижения аналогичного эффекта, но я стараюсь понять, как режимы смешивания вычисляют значения.
- Оригинальный растровый рисунок Photoshop
- SVG использует только формы без фильтров
- SVG с использованием многократного фильтра на вертикальной панели
- SVG с использованием многократного фильтра и непрозрачности на вертикальной панели
Вы можете увидеть SVG-код для каждого из них в этом JSBin http://jsbin.com/iPePuvoD/1/edit
Я действительно пытаюсь понять лучший подход, чтобы соответствовать синему вертикальной панели и цвету перекрывающейся области.
Каждая из этих фигур мне также хотелось бы оживить, используя библиотеку, такую как http://snapsvg.io/, поэтому я надеюсь полагаться исключительно на фильтры, а не на обрезку или другие операции для достижения желаемых результатов - но я открыт для предложений.
Эффективно, SVG для последней попытки (4.) заключается в следующем:
<svg viewBox="0 0 96 146" version="1.1" id="f-multiply-opacity" preserveAspectRatio="xMinYMin meet">
<defs>
<filter id="f_multiply" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feBlend in="SourceGraphic" mode="multiply"/>
<feBlend in="SourceGraphic" mode="multiply"/>
</filter>
</defs>
<g id="f_shape">
<rect x="0" y="0" width="96" height="32" fill="#EA312F" />
<rect x="0" y="50" width="96" height="32" fill="#EA312F" />
<rect x="0" y="50" width="32" height="96" opacity="0.8" fill="#3A5BA6" filter="url(#f_multiply)" />
</g>
</svg>
Буду очень ценить некоторые советы по этому вопросу, я нашел несколько хороших ресурсов для SVG, но эта область по-прежнему кажется довольно сложной для получения хорошей информации.
Благодарю!