【问题标题】:Is it possible to apply a transform matrix to a SVG filter effect是否可以将变换矩阵应用于 SVG 滤镜效果
【发布时间】:2011-12-12 04:28:05
【问题描述】:

我正在尝试在 SVG 中重新创建一个 iphone 地图,例如图钉,我将图钉部分放下,但我想知道如何处理阴影。我看过一堆阴影示例,但它们都只是将原始图像偏移了几个像素。是否可以将变换矩阵应用于过滤器,使其偏斜?

到目前为止,这是图钉 SVG:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
    <defs>
        <radialGradient id="SVGID_1_" cx="29.3623" cy="31.1719" r="11.6241" gradientTransform="matrix(1.1875 0 0 1.1875 -30.8438 -30.2812)" gradientUnits="userSpaceOnUse">
            <stop  offset="0.2637" style="stop-color:#FF0000"/>
            <stop  offset="1" style="stop-color:#6D0000"/>
        </radialGradient>
    </defs>
    <rect x="9.251" y="13.844" fill="#CCCCCC" stroke="#7C7C7C" width="2" height="24.83"/>
    <circle fill="url(#SVGID_1_)" stroke="#660000" cx="10.5" cy="11.5" r="9.5"/>
    <ellipse transform="matrix(0.8843 0.4669 -0.4669 0.8843 4.475 -1.6621)" fill="#FFCCCC" cx="6.591" cy="8.199" rx="1.538" ry="1.891"/>
</svg>

谢谢!

【问题讨论】:

    标签: svg dropshadow svg-filters


    【解决方案1】:

    这是一个简单的变换和过滤器来旋转它。如果你也想做倾斜,你需要用一些矩阵的东西替换旋转线。

    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
        <defs>
            <radialGradient id="SVGID_1_" cx="29.3623" cy="31.1719" r="11.6241" gradientTransform="matrix(1.1875 0 0 1.1875 -30.8438 -30.2812)" gradientUnits="userSpaceOnUse">
                <stop  offset="0.2637" style="stop-color:#FF0000"/>
                <stop  offset="1" style="stop-color:#6D0000"/>
            </radialGradient>
            <filter id="drop-shadow">
              <feGaussianBlur in="SourceAlpha" result="blur-out" stdDeviation="1" />
    
            </filter>
        </defs>
        <g id="pin">
            <rect x="9.251" y="13.844" fill="#CCCCCC" stroke="#7C7C7C" width="2" height="24.83"/>
            <circle fill="url(#SVGID_1_)" stroke="#660000" cx="10.5" cy="11.5" r="9.5"/>
            <ellipse transform="matrix(0.8843 0.4669 -0.4669 0.8843 4.475 -1.6621)" fill="#FFCCCC" cx="6.591" cy="8.199" rx="1.538" ry="1.891"/>
        </g>
    
         <use xlink:href="#pin" transform="rotate(60 10.251 38.674)" filter="url(#drop-shadow)"/>
    </svg>
    

    【讨论】:

      猜你喜欢
      • 2012-06-10
      • 1970-01-01
      • 2018-11-05
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 2015-04-16
      相关资源
      最近更新 更多