svg基础(五)滤镜-高斯模糊,混合模式,偏移,颜色变换

1 作用

滤镜用于对SVG图形增加特殊效果

2 效果

  • feBlend - 与图像相结合的滤镜
  • feColorMatrix - 用于彩色滤光片转换
  • feComponentTransfer
  • feComposite
  • feConvolveMatrix
  • feDiffuseLighting
  • feDisplacementMap
  • feFlood
  • feGaussianBlur 高斯模糊
  • feImage
  • feMerge
  • feMorphology
  • feOffset - 过滤阴影
  • feSpecularLighting
  • feTile
  • feTurbulence
  • feDistantLight - 用于照明过滤
  • fePointLight - 用于照明过滤
  • feSpotLight - 用于照明过滤

2.1 feGaussianBlur:高斯模糊

in="SourceGraphic"属性定义了模糊效果要应用于整个图片

stdDeviation:属性定义了模糊的程度

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="f1" x="0" y="0"><feGaussianBlur in="SourceGraphic" stdDeviation="20" /></filter></defs><rect width="100" height="100" stroke="red" stroke-width="5"fill="orange" filter="url(#f1)" />
</svg>

在这里插入图片描述

2.2 feBlend:混合模式

允许使用任意的JPG\PNG\SVG文件或带有id属性SVG元素作为输入源

五种模式:

  1. normal — 正常
  2. multiply — 正片叠底
  3. screen — 滤色
  4. darken — 变暗
  5. lighten— 变亮

原图:
在这里插入图片描述
在这里插入图片描述

正常混合:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="ga" x="0" y="0" width="200" height="250"><feImage width="200" height="250" xlink:href="image.png" result="img1" /><feImage width="200" height="250" xlink:href="image2.png" result="img2" /><feBlend mode="normal" in="img1" in2="img2" /></filter></defs><rect x="10" y="10" width="200" height="250" fill="black" filter="url(#ga)"></rect></svg>

在这里插入图片描述

正片叠底:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="ga" x="0" y="0" width="200" height="250"><feImage width="200" height="250" xlink:href="image.png" result="img1" /><feImage width="200" height="250" xlink:href="image2.png" result="img2" /><feBlend mode="multiply" in="img1" in2="img2" /></filter></defs><rect x="10" y="10" width="200" height="250" fill="black" filter="url(#ga)"></rect></svg>

在这里插入图片描述

滤色:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="ga" x="0" y="0" width="200" height="250"><feImage width="200" height="250" xlink:href="image.png" result="img1" /><feImage width="200" height="250" xlink:href="image2.png" result="img2" /><feBlend mode="screen" in="img1" in2="img2" /></filter></defs><rect x="10" y="10" width="200" height="250" fill="black" filter="url(#ga)"></rect></svg>

在这里插入图片描述

变暗:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="ga" x="0" y="0" width="200" height="250"><feImage width="200" height="250" xlink:href="image.png" result="img1" /><feImage width="200" height="250" xlink:href="image2.png" result="img2" /><feBlend mode="darken" in="img1" in2="img2" /></filter></defs><rect x="10" y="10" width="200" height="250" fill="black" filter="url(#ga)"></rect></svg>

在这里插入图片描述

变亮:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="ga" x="0" y="0" width="200" height="250"><feImage width="200" height="250" xlink:href="image.png" result="img1" /><feImage width="200" height="250" xlink:href="image2.png" result="img2" /><feBlend mode="lighten" in="img1" in2="img2" /></filter></defs><rect x="10" y="10" width="200" height="250" fill="black" filter="url(#ga)"></rect></svg>

2.3 feOffset:偏移

2.3.1 偏移

  <svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="f1" x="0" y="0"><feOffset result="offOut" in="SourceGraphic" dx="30" dy="30" /><feBlend in="SourceGraphic" in2="offOut" mode="normal" />//混合偏移图像顶部</filter></defs><rect width="100" height="100" stroke="red" stroke-width="3"fill="yellow" filter="url(#f1)" /></svg>

在这里插入图片描述

2.3.2 偏移并模糊(阴影)

  <svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="f1" x="0" y="0" width="150%" height="150%"><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="red" stroke-width="3"fill="orange" filter="url(#f1)" /></svg>

在这里插入图片描述

2.3.3 偏移并模糊(黑色阴影)

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="f1" x="0" y="0" width="150%" height="150%"><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="100" height="100" stroke="red" stroke-width="3"fill="orange" filter="url(#f1)" /></svg>

<feOffset>元素的属性改为"SourceAlpha"在Alpha通道使用残影,而不是整个RGBA像素。

在这里插入图片描述

2.3.4 偏移并模糊(黑色阴影+颜色转换)

 <svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="f2" x="0" y="0" width="150%" height="150%"><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="100" height="100" stroke="red" stroke-width="3"fill="orange" filter="url(#f2)" /></svg>

<feColorMatrix>过滤器是用来转换偏移的图像使之更接近黑色的颜色。 '0.2’矩阵的三个值都获取乘以红色,绿色和蓝色通道。降低其值带来的颜色至黑色(黑色为0)

在这里插入图片描述

2.4 feColorMatrix :颜色变换

用来以一种通用的方式改变颜色值,可以用来创建一个发光的区域

feColorMatrix是一个通用的基元,允许修改任意像素点的颜色或阿尔法值,当type="matrix"时,必须指定一个4x5的矩阵。矩阵中每行数字分别乘以输入像素的r,g,b,a的值和常量1,然后加在一起得到输出值。要设置一个变换,将所有不透明区域回执为相同颜色,可以忽略输入颜色和常量。

矩阵模型:

values="0    0    0    red    00    0    0    green  00    0    0    blue   00    0    0    1      0
"

red,green,blue的值通常为0到1之间的十进制数,在上述例子中,red为0,green和blue为0.9会产生一个明亮的青色。

上述type为matrxi,除此之外,还有其他三个值:

feColorMatrix的type属性说明
hueRotate色相旋转,value是一个单一的数字,描述颜色的色相值应该被旋转多少度
saturate饱和度,values属性指定一个0到1之间的数字,数字越小,颜色越不饱和
luminanceToAlpha用亮度决定alpha值,这一属性忽略的values属性值
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1"><defs><filter id="matrix" x="0" y="0"><feColorMatrix type="matrix" values="0 0 0 0   00 0 0 0.3 00 0 0 0.3 00 0 0 1   0"></feColorMatrix></filter></defs><text x="10" y="100" font-size="40" fill="red" filter=url(#matrix)>svg滤镜</text></svg>

在这里插入图片描述

可以看到文字应用了滤镜颜色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2778918.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot 笔记 005 环境搭建

1.1 创建数据库和表&#xff08;略&#xff09; 2.1 创建Maven工程 2.2 补齐resource文件夹和application.yml文件 2.3 porn.xml中引入web,mybatis,mysql等依赖 2.3.1 引入springboot parent 2.3.2 删除junit 依赖--不能删&#xff0c;删了会报错 2.3.3 引入spring web依赖…

[算法学习]

矩阵乘法 只有当左矩阵列数等于右矩阵行数&#xff0c;才能相乘N*M的矩阵和M*K的矩阵做乘法后矩阵大小为N*k矩阵乘法规则&#xff1a;第一个矩阵A的第 i 行与第二个矩阵的第 j 列的各M个元素对应相乘再相加得到新矩阵C[i][j]的值 整除 同余 同余的性质 线性运算&#xff0c;…

管理就是闭环

管理是什么&#xff1f;这个问题没有一个统一的答案。本文提供一个管中窥豹的答案&#xff1a;管理就是闭环。 作为基层管理者&#xff0c;日常管理事务&#xff0c;一个是目标闭环&#xff0c;一个是执行闭环。这分别对应敏捷PO和Scrum Master的职责。PO的职责是确保目标闭环&…

提升幸福感,中国的龙!理性看待个人发声——早读

打了过年球&#xff0c;爽&#xff01; 引言代码第一篇 人民日报 【夜读】新的一年&#xff0c;提升幸福感的6件小事第二篇 茶百道的广告文第三篇 人民日报 热搜第一&#xff01;《山河诗长安》&#xff0c;太燃了第四篇 人民日报 中国有真龙第五篇 人民日报 来啦 新闻早班车要…

Debezium发布历史122

原文地址&#xff1a; https://debezium.io/blog/2022/05/04/switch-to-java-11/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Switching to Java 11/17 May 4, 2022 by Vojtěch Jurnek community news 你可…

初步探索Pyglet库:打造轻量级多媒体与游戏开发利器

目录 pyglet库 功能特点 安装和导入 安装 导入 基本代码框架 导入模块 创建窗口 创建控件 定义事件 运行应用 程序界面 运行结果 完整代码 标签控件 常用事件 窗口事件 鼠标事件 键盘事件 文本事件 其它场景 网页标签 音乐播放 图片显示 祝大家新…

【vscode】在vscode中如何导入自定义包

只需要额外添加这两条语句即可&#xff1a; import os,sys sys.path.append("../..") 需要注意的是&#xff0c;ipynb 文件打开的工作目录是文件本身的路径&#xff0c;而 py 文件打开的工作路径是 vscode 打开的路径。 相比较而言 pycharm 中创建好项目之后并不…

ubuntu20.04 安装mysql(8.x)

安装mysql命令 sudo apt-get install mysql-server安装完毕后&#xff0c;立即初始化密码 sudo mysql -u root # 初次进入终端无需密码ALTER USER rootlocalhost IDENTIFIED WITH caching_sha2_password BY yourpasswd; # 设置本地root密码设置mysql远程登录 设置远程登录账…

【开源】基于JAVA+Vue+SpringBoot的班级考勤管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统基础支持模块2.2 班级学生教师支持模块2.3 考勤签到管理2.4 学生请假管理 三、系统设计3.1 功能设计3.1.1 系统基础支持模块3.1.2 班级学生教师档案模块3.1.3 考勤签到管理模块3.1.4 学生请假管理模块 3.2 数据库设…

C++进阶——C++11(右值引用)

一、右值 VS 左值 官方定义是&#xff0c;可以直接取得到地址的对象就是左值&#xff0c;而不能取地址的对象就是右值。但按我的理解来说&#xff0c;如果这个对象是有名字&#xff08;变量名&#xff09;的&#xff0c;那就是左值&#xff1b;而除常量数组之外&#xff0c;如…

第206篇| 新年有趣的产品发现;所谓正确的价值观

这是2024年一月份flomo和notion 上聚合的系列文章之&#xff08;02&#xff09;&#xff1b; 具体方法用的是这个 &#xff1a; 【知识沙虫&#xff0c;一个简单易用的知识体系建模工具】https://mp.weixin.qq.com/s/V2Cdq-1PbMQYvpE4o9NLpQ 首先&#xff0c;方法用下来还是很…

人工智能能产生情绪吗?

此图片来源于网络 一、人情绪的本质是什么&#xff1f; 人的情绪本质是一个复杂的现象&#xff0c;涉及到生理、心理和社会的多个层面。以下是关于情绪本质的几种观点&#xff1a; 情绪的本质是生命能量的表达。情绪被认为是生命能量的一种体现&#xff0c;通过情绪的体验和…

【踏雪无痕的痕二】——小学一年级数学题窥探蝴蝶效应

目录 一、背景介绍二、思路&方案三、过程1.结果一致过程不一致带来的偏差2.再举两个例子&#xff0c;你品一品3.我曾经的培养计划背后的"力量"&#xff1f;4.蝴蝶效应——混沌或非线性理论什么是蝴蝶效应&#xff1f; 5.内心深处的小恶魔(人性的使然) 四、总结 一…

春节假期:思考新一年的发展思路

春节假期是人们放松身心、享受家庭团聚的时刻&#xff0c;但除了走亲戚、玩、吃之外&#xff0c;我们确实也需要思考新的一年的发展思路。以下是一些建议&#xff0c;帮助您在春节假期中为新的一年做好准备&#xff1a; 回顾过去&#xff0c;总结经验&#xff1a;在春节期间&a…

react中hook封装一个table组件 与 useColumns组件

目录 1&#xff1a;react中hook封装一个table组件依赖CommonTable / index.tsx使用组件效果 2&#xff1a;useColumns组件useColumns.tsx使用 1&#xff1a;react中hook封装一个table组件 依赖 cnpm i react-resizable --save cnpm i ahooks cnpm i --save-dev types/react-r…

系统架构24 - 软件架构设计(3)

软件架构风格&#xff08;上&#xff09; 概述架构风格数据流架构风格批处理风格管道-过滤风格 调用/返回架构风格主程序/子程序风格面向对象风格层次结构风格客户端/服务器风格 以数据为中心的架构风格仓库风格黑板风格 虚拟机架构风格解释器风格规则系统风格 独立构件架构风格…

React - 分页插件默认是英文怎么办

英文组件的通用解决方案 这里以分页插件为例&#xff1a; 大家可以看到&#xff0c;最后的这个页面跳转提示文字为Go to&#xff0c;不是中文&#xff0c;而官网里面的案例则是&#xff1a; 解决方案&#xff1a; import { ConfigProvider } from antd; import zhCN from an…

ShardingSphere 5.x 系列【7】元数据持久化

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 概述2. 单机模式2.1 H22.2 MySQL3. 集群模式3.1 ZooKeeper3.2 Nacos3.3 Cons…

【大厂AI课学习笔记】【1.5 AI技术领域】(10)对话系统

对话系统&#xff0c;Dialogue System&#xff0c;也称为会话代理。是一种模拟人类与人交谈的计算机系统&#xff0c;旨在可以与人类形成连贯通顺的对话&#xff0c;通信方式主要有语音/文本/图片&#xff0c;当然也可以手势/触觉等其他方式 一般我们将对话系统&#xff0c;分…

AES加密中的CBC和ECB

目录 1.说明 2.ECB模式&#xff08;base64&#xff09; 3.CBC模式 4.总结 1.说明 AES是常见的对称加密算法&#xff0c;加密和解密使用相同的密钥&#xff0c;流程如下&#xff1a; 主要概念如下&#xff1a; ①明文 ②密钥 用来加密明文的密码&#xff0c;在对称加密算…