小编Bob*_*obW的帖子

Chrome中的SVG <use>元素未显示

Chrome似乎没有<use>在内联svg中显示元素.以下是一个示例(下面的代码或在http://www.bobwyttenbach.com/chromeuse.html上查看):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Chrome use-tag bug?</title>
</head>
<body>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="200px" height="200px" viewBox="0 0 200 200">
    <defs>
        <g id="test1">
            <circle cx="100" cy="100" r="50" fill="red"/>
        </g>
    </defs>
    <g>
        <rect x="0.5" y="0.5" width="199" height="199" stroke="black" fill="none"/>
        <use xlink:href="#test1" x="0" y="0"/>
    </g>
</svg>
<p>Above is inline svg with a use tag; below is the same svg linked through an object tag. Below is correct.</p>
<object data="chromeuse.svg" width="200" height="200"></object>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

红色圆圈不会出现在内联svg中,但会在通过对象标记链接相同的svg时出现.Safari,Firefox,Opera和Internet …

svg google-chrome

6
推荐指数
1
解决办法
8776
查看次数

svg feComponentTransfer线性函数

SVG feComponentTransfer线性函数不能像我期望的那样工作.应用于灰度图像的-1的斜率和1的截距应该反转图像:黑色 - >白色,白色 - >黑色,25%灰色 - > 75%灰色,50%灰色不变,等等.

我的期望是基于http://www.w3.org/TR/filter-effects/#feComponentTransferElement,其中"C'=斜率*C +截距",其中"C是初始组件(例如,'feFuncR') ,C'是重新映射的组件;都在闭区间[0,1].".

以下过滤器

<filter id="linear">
  <feComponentTransfer>
    <feFuncR type="linear" slope="-1" intercept="1" />
    <feFuncG type="linear" slope="-1" intercept="1" />
    <feFuncB type="linear" slope="-1" intercept="1" />
  </feComponentTransfer>
</filter>
Run Code Online (Sandbox Code Playgroud)

将黑色映射到白色,将白色映射到黑色,但中间值关闭,例如50%灰色映射到90%灰色,75%灰色映射到98%灰色.有关简单示例,请参见http://jsfiddle.net/Rpjs2/.我在Firefox和Safari中获得了相同的结果.

这是我第一次尝试SVG过滤器,所以我怀疑我误解了这些规格.有人可以纠正我吗?

svg svg-filters

5
推荐指数
1
解决办法
1686
查看次数

标签 统计

svg ×2

google-chrome ×1

svg-filters ×1