PhantomJS不尊重SVG颜色插值滤波器

时间:2013-12-09 15:10:17

标签: svg phantomjs qtwebkit color-space svg-filters

我有一张带两张图片的SVG。这些图片已应用feComponentTransfer 对于这些图片,color-interpolation-filters设置为linearRGBsRGB,相应地:

http://jsfiddle.net/9eU37/6/

以下是它在Safari和Chrome中呈现的方式:

enter image description here

(左边是linearRGB,右边是sRGB)

以下是PhantomJS的呈现方式:

enter image description here

(左边是linearRGB,右边是sRGB)

如您所见,PhantomJS似乎忽略color-interpolation-filters (两个图像之间没有差异)。另一个奇怪的是,生成的图像既不匹配sRGB也不匹配linearRGB浏览器版本。

我能做什么让它像浏览器那样渲染SVG,并尊重设置?

1 个答案:

答案 0 :(得分:2)

您可以使用feComponentTransfer type = gamma手动执行自己的伽马校正。通常情况下,指数为2.2就可以了。