首页 > 解决方案 > 为什么 svg filter fecomposite 算法在 safari 和 ios 上返回错误的颜色?

问题描述

fecomposite 使用算术运算被定义为:

result = k1*i1*i2 + k2*i1 + k3*i2 + k4

<feComposite in="edgesa" in2="gifimga" result="edgeedgea" operator="arithmetic" k1="1.0" k2="0.0" k3="0.0" k4="0.0" ></feComposite>

edgeedgea 是一个黑白棋盘图像。

具有这些属性的 fecomposite 应该在棋盘为黑色的地方产生黑色,并且应该在棋盘为白色的地方产生原始像素值。

适用于 chrome 和 firefox 在 mac 和 iphone 上的 safari 和 iphone 上的 chrome 错误颜色

示例代码笔: 代码笔

<svg height="0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
<filter id="Blue80s2" >
<feImage href="https://publish.responsiveads.com/ads/5e9d9ef50a33285b4a0000db/img/hertzc.png" result="gifimga"></feImage>
<feImage href="https://servedbyadbutler.com/getad.img/?libBID=930714" result="edgesa"></feImage>
<feComposite in="edgesa" in2="gifimga" result="edgeedgea" operator="arithmetic" k1="1.0" k2="0.0" k3="0.0" k4="0.0" ></feComposite>
<feMerge><feMergeNode in="SourceGraphic"></feMergeNode><feMergeNode in="edgeedgea" ></feMergeNode></feMerge>
</filter></defs></svg>

请指教谢谢leu

标签: iossvgfiltersafari

解决方案


推荐阅读