Kiedy stosuję filtr rozmycia do obrazu svg, rozmywa on krawędzie, przez co stają się one mało przezroczyste (patrz lewa próbka). To, czego chcę, to rozmycie bez takiego artefaktu (patrz prawidłowa próbka). Rozwiązałem to przez hack: wystarczy skopiować ten sam obraz i umieścić go na 4 stronach.Artefakty krawędzi artefaktów z rozmyciem SVG
Czy istnieje lepszy sposób?
Pamiętaj, że nie mogę powiększyć obrazu tylko o 5-10%; rozmiar powinien być taki sam, jak oryginalny obraz.
Oto moja SVG:
...
<filter id="blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="4"></feGaussianBlur>
</filter>
...
<g filter="url(#blur)">
<image xlink:href="cathedral.jpg"></image>
</g>
To nie działa. Zobacz tutaj: http://jsbin.com/vugojiju/1/edit Umieszczam ten sam obraz z tyłu, aby zilustrować problem - przezroczyste krawędzie rozmytego obrazu. –
Musisz zamknąć tag feGaussianBlur zanim dodasz componentTransfer. W moim kodzie używam samozamykającego się W swojej wersji załączamy componenttransfer w zestawie otwartych i zamkniętych tagów feAussian. Tak więc ignoruje komponent Przenoszenie –
Istnieje literówka: w pierwszym wierszu x = "0% powinno mieć zamykający podwójny cytat, poza tym, niesamowity hack! – montecruiseto