Как применить фильтр feTurbulence к форме - например, Круг в SVG

У меня есть следующий код SVG:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50%" height="50%">
<defs>
    <radialGradient id="star_grad">
        <stop offset="0%" style="stop-color: #faf589;"/>
        <stop offset="50%" style="stop-color: #fbf300;"/>
        <stop offset="100%" style="stop-color: #fbbc00;"/>
    </radialGradient>

    <filter id="star_filter">
        <feTurbulence baseFrequency=".04" result="ripples" />
        <feMerge>
            <feMergeNode in="SourceGraphic" />
            <feMergeNode in="ripples" />
        </feMerge>
    </filter>
</defs>

<circle cx="50%" cy="50%" r="25%" style="fill: url(#star_grad); filter: url(#star_filter);" />

И я получаю большую часть того, что хочу, но по какой-то причине я не могу понять, как применить фильтр к только круг - он всегда применяется к ограничивающей рамке плюс 10%. Я мог бы прибегнуть к обрезке, но предпочел бы научиться применять фильтры только к тем фигурам, которые я хочу создать ...

ПРИМЕЧАНИЕ, это не обязательно слияние, я тоже пробовал составить без особой удачи - я просто хочу самый эффективный способ применить фильтр к фигуре без обрезки - если это возможно.

5
задан Michael Mullany 12 March 2013 в 16:15
поделиться