2014-03-24 67 views
2

我嘗試將模糊濾鏡應用於svg元素,但似乎Safari無法渲染正確的顏色。這裏是我的問題的一個例子:Safari使用模糊濾鏡時呈現錯誤的顏色

<svg height="110" width="110"> 
    <defs> 
      <filter id="f1" x="0" y="0"> 
       <feGaussianBlur stdDeviation="15" /> 
      </filter> 
    </defs> 
     <rect width="90" height="90" stroke-width="3" fill="#ff4300" filter="url(#f1)" /> 
</svg> 

http://jsfiddle.net/6gZ8t/1/

Safari瀏覽器:

This is Safari

鉻:

This is Chrome

的顏色是正確的每一個brwoser expet Safari,它都更加光明......有沒有人知道這個問題的解決方法?

回答

9

Safari的默認顏色插值(linearRGB)似乎在最近的更新中被破壞。如果你在你的濾鏡上全面切換到sRGB,你會得到更正確的結果(儘管它們都會被伽馬校正)。

<filter id="f1" x="0" y="0" color-interpolation-filters="sRGB"> 
+0

太棒了,這個固定它!你救了我的一天! =) – Dafen

+1

您也可以將其應用於高斯濾鏡:''。不過希望WebKit團隊儘快解決這個問題。 –

+1

我提交了一個[bug報告](https://bugs.webkit.org/show_bug.cgi?id=136418)。 –