A demonstration of SVG's Gaussian blur filter effect: the svg:feGaussianBlur element.
Image source: GitHub's octodex.
license: gpl-3.0 |
A demonstration of SVG's Gaussian blur filter effect: the svg:feGaussianBlur element.
Image source: GitHub's octodex.
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
body { | |
position: relative; | |
width: 960px; | |
height: 500px; | |
} | |
input { | |
position: absolute; | |
bottom: 20px; | |
right: 20px; | |
width: 200px; | |
} | |
</style> | |
<body> | |
<script src="//d3js.org/d3.v3.min.js"></script> | |
<script> | |
var svg = d3.select("body").append("svg") | |
.attr("width", 960) | |
.attr("height", 500); | |
var filter = svg.append("defs") | |
.append("filter") | |
.attr("id", "blur") | |
.append("feGaussianBlur") | |
.attr("stdDeviation", 5); | |
d3.select("body").append("input") | |
.attr("type", "range") | |
.attr("min", 0) | |
.attr("max", 100) | |
.attr("value", 25) | |
.on("change", blur); | |
var image = new Image; | |
image.src = "octocat.jpg"; | |
image.onload = load; | |
function load() { | |
svg.append("image") | |
.attr("xlink:href", this.src) | |
.attr("width", "100%") | |
.attr("height", "100%") | |
.attr("filter", "url(#blur)"); | |
} | |
function blur() { | |
filter.attr("stdDeviation", this.value / 5); | |
} | |
</script> |