学习SVG系列(4):SVG滤镜效果
注意:Internet Explorer和Safari不支持SVG滤镜
<defs>、<filter>
所有互联网的SVG滤镜定义在<defs>元素中,<filter>标签用来定义SVG滤镜,<filter>标签使用必须的ID属性来定义向图形应用到那个滤镜中
SVG模糊效果
<feGaussianBlur>
feGaunssianBlur元素是用于创建模糊效果

SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="f1"
x="0" y="0">
<feGaussianBlur in="SourceGraphic" stdDeviation="15"
/>
</filter>
</defs>
<rect width="90"
height="90" stroke="green" stroke-width="3"
fill="yellow"
filter="url(#f1)" />
</svg>
代码解析:
<filter>元素id属性定义一个滤镜的唯一名称
<feCaussianBlur>元素定义模糊效果
in="SourceGraphic"这个部分定义了由整个图像创建效果
stdDeviation属性定义模糊量
<rect>元素的滤镜属性用来把元素链接到“f1”滤镜
SVG阴影
<feOffset>
feOffset元素用于创建阴影效果
实例1
偏移一个矩形(带<feOffset>),然后混合偏移图像顶部(含<feBlend>)

SVG代码:
<svg xmlns="http://www.w3.org/2000/svg"
version="1.1">
<defs>
<filter id="f1"
x="0" y="0" width="200%"
height="200%">
<feOffset
result="offOut" in="SourceGraphic" dx="20"
dy="20" />
<feBlend
in="SourceGraphic" in2="offOut" mode="normal"
/>
</filter>
</defs>
<rect width="90"
height="90" stroke="green" stroke-width="3"
fill="yellow"
filter="url(#f1)" />
</svg>
实例2
偏移图像可以变的模糊(含<feGaussianBlur>)

SVG代码:
<svg
xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="f1"
x="0" y="0" width="200%"
height="200%">
<feOffset
result="offOut" in="SourceGraphic" dx="20"
dy="20" />
<feGaussianBlur result="blurOut" in="offOut"
stdDeviation="10" />
<feBlend
in="SourceGraphic" in2="blurOut" mode="normal"
/>
</filter>
</defs>
<rect width="90"
height="90" stroke="green" stroke-width="3"
fill="yellow"
filter="url(#f1)" />
</svg>
代码解析
元素的stdDeviation属性定义了模糊量
实例3
制作一个黑色的阴影

SVG代码:
<svg
xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="f1" x="0"
y="0" width="200%" height="200%">
<feOffset
result="offOut" in="SourceAlpha" dx="20"
dy="20" />
<feGaussianBlur result="blurOut" in="offOut"
stdDeviation="10" />
<feBlend
in="SourceGraphic" in2="blurOut" mode="normal"
/>
</filter>
</defs>
<rect width="90"
height="90" stroke="green" stroke-width="3"
fill="yellow"
filter="url(#f1)" />
</svg>
代码解析:
feOffset元素的属性改为"SourceAlpha"在Alpha通道使用残影,而不是整个RGBA像素
实例4
为阴影涂上一层颜色

SVG代码:
<svg
xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="f1"
x="0" y="0" width="200%"
height="200%">
<feOffset
result="offOut" in="SourceGraphic" dx="20"
dy="20" />
<feColorMatrix
result="matrixOut" in="offOut" type="matrix"
values="0.2
0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0" />
<feGaussianBlur result="blurOut" in="matrixOut"
stdDeviation="10" />
<feBlend
in="SourceGraphic" in2="blurOut" mode="normal"
/>
</filter>
</defs>
<rect width="90"
height="90" stroke="green" stroke-width="3"
fill="yellow"
filter="url(#f1)" />
</svg>
学习SVG系列(4):SVG滤镜效果的更多相关文章
- 学习SVG系列(5):SVG渐变
SVG渐变 渐变是一种从一种颜色到另一种颜色的平滑过渡,可以把多个颜色的过渡应用到同一个元素. 渐变有两种: Linear Redial 线性渐变-<linearGradient> lin ...
- 学习SVG系列(3):SVG Stroke属性
SVG stroke 属性 1.stroke 2.stroke-width 3.stroke-linecap 4.stroke-dasharray 5.stroke-opacity 6.stroke- ...
- 学习SVG系列(1):SVG基础
什么是SVG? 1.指可伸缩矢量图形 2.用来定义用于网络的基于矢量的图形 3.使用XML格式定义图形 4.图像在放大或改变尺寸的情况下其图形不会有所损失 5.万维网联盟的标准, 用于描述二维矢量图形 ...
- SVG系列教程:SVG简介与嵌入HTML页面的方式
地址:http://www.w3cplus.com/html5/svg-introduction-and-embedded-html-page.html 随着技术向前的推进,SVG相关的讨论也越渐频繁 ...
- HTML5 学习03——内联 SVG
什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺 ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- 【翻译svg教程 】svg 的坐标系统
http://tutorials.jenkov.com/svg/svg-coordinate-system.html svg的坐标系统(和大多数计算机绘图的坐标系统)和数学中绘图系统有点不一样 数学/ ...
- Nagios学习实践系列——基本安装篇
开篇介绍 最近由于工作需要,学习研究了一下Nagios的安装.配置.使用,关于Nagios的介绍,可以参考我上篇随笔Nagios学习实践系列——产品介绍篇 实验环境 操作系统:Red Hat Ente ...
- Nagios学习实践系列——配置研究[监控当前服务器]
其实上篇Nagios学习实践系列——基本安装篇只是安装了Nagios基本组件,虽然能够打开主页,但是如果不配置相关配置文件文件,那么左边菜单很多页面都打不开,相当于只是一个空壳子.接下来,我们来学习研 ...
随机推荐
- (01-02) odoo8.0_Ubuntu14.04_nginx反代理设置
作者:陈伟明联系 : QQ 942923305 | 微信 toby942923305E-mail: cwm.win@hotmail.com============================== ...
- C# 反射浅析
反射是一个运行库类型发现的过程.通过反射可以得到一个给定程序集所包含的所有类型的列表,这个列表包括给定类型中定义的方法.字段.属性和事件.此外,通过反射也可以动态的发现一组给定类支持的接口.方法的参数 ...
- 并发编程 20—— AbstractQueuedSynchronizer 深入分析
Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...
- SAP LOGON DATA CHECK
之前有朋友做过RFC登录验证,后来群里又有很多人问SAP的登录验证函数. 后来自己找找了,看看了,然后改写了一个LOGON DATA CHECK... FUNCTION ZUSER_CHECK_LOG ...
- Windows Phone 10如何借Windows 10的东风
距微软发布Windows Phone 7已经四年多了,WinPhone的市场份额一直萎糜不前.去年微软收购诺基亚,如特洛伊木马般戏剧,却没有挽救WinPhone,甚至出现下滑,已经不足3%,已经基本被 ...
- DevExpress--xtraTabbedMdiManager控件
因项目需要要实现类似jquery的Tab效果,所以要用到xtraTabbedMdiManager控件 使用xtraTabbedMdiManager一般配合navBarControl(上期已写过) 在工 ...
- 面试复习(C++)之基数排序
#include <iostream> using namespace std; int maxbit(int *a,int n) { ;//一位 ;//十进制 ;i<n;i++) ...
- node模块系统常用命令
node模块系统常用命令 命令 示例 备注 安装模块 npm install commander 最新版本 npm install commander@1.0.0 指定版本 npm install c ...
- HttpServletRequest常用的方法
假设客户端请求的地址:http://localhost:8082/TestReq/MyServlet/?username=李雷&age=20 request.getRequestURL htt ...
- pandas 数据检索
使用pandas的一些方法: 条件检索 按index取值