• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > SVG(可缩放矢量图形)图片添加、高斯模糊、渐变与g标签

SVG(可缩放矢量图形)图片添加、高斯模糊、渐变与g标签

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含SVG,g标签,图片添加等相关知识,匿名希望在学习及工作中可以帮助到您


今天主要谈一下SVG的特殊效果
其实和canvas都是差不多的,只不过是利用XML标签
用的不是很多但是以防以后万一用到还是整理一下

图片添加

svg中也可以添加图片

<svg width=300 height=300>
    <image xlink:href="./images/d.jpg" x=100 y=100 height=100 width=100></image></svg>

注意这里是image标签而不是我们html中的img标签

xlink:href指定资源路径
x,y 图片坐标位置
height,width 图片在svg中显示的宽高

滤镜原语

svg给我们提供了很多滤镜

  • feBlend

  • feColorMatrix

  • feComponentTransfer

  • feComposite

  • feConvolveMatrix

  • feDiffuseLighting

  • feDisplacementMap

  • feFlood

  • feGaussianBlur

  • feImage

  • feMerge

  • feMorphology

  • feOffset

  • feSpecularLighting

  • feTile

  • feTurbulence

  • feDistantLight

  • fePointLight

  • feSpotLight

使用filter标签来定义滤镜,而且滤镜必须有id标识
图形元素通过 filter = "url(#id)" 来引用滤镜

使用滤镜可以构建绚丽的图案
我们主要来看一下这个feGaussianBlur高斯模糊滤镜

高斯模糊

feGaussianBlur用于创建模糊效果
滤镜定义在defs元素中

<svg width=100 height=100>
  <defs>
    <filter id="f1">
      <feGaussianBlur in="SourceGraphic" stdDeviation="15">
    </filter>
  </defs>
  <rect width="100" height="100" stroke="blue" stroke-width="3"
  fill="red" filter="url(#f1)"></svg>

filter id属性定义一个滤镜的唯一名称
feGaussianBlur 定义模糊效果
in 定义了由整个图像创建效果
(SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha | FillPaint | StrokePaint |
< filter-primitive-reference >)
stdDeviation 定义模糊量
rect元素的滤镜属性把元素链接到”f1”滤镜

渐变

同样分为线性渐变和径向渐变
用法类比canvas的渐变

线性渐变

<svg widht=300 height=300>
  <defs>
    <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1" />
    </linearGradient>
  </defs>
  <ellipse cx="150" cy="150" rx="100" ry="50" fill="url(#grad1)" /></svg>

linearGradient的 x1,y1,x2,y2定义了渐变起始和结束位置
颜色方位由stop标签指定
注意XML单标签是要有“/”的,否则标签无效 <stop />

径向渐变

<svg width=300 height=300>
  <defs>
    <radialGradient id="grad2" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:white;stop-opacity:0" />
      <stop offset="100%" style="stop-color:orange;stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="150" cy="150" rx="100" ry="50" fill="url(#grad2)" /></svg>

radialGradient的cx,cy和r定义最外层圆
fx和fy定义最内层圆
颜色同样由stop标签指定

g标签

我们在使用工具的时候
可能会在导出代码中看到
其实这个XML标签没有什么神奇的
它就相当于一个容器,我们可以为它内部的图形指定相同的样式
比如说颜色、坐标系、滤镜等等

<svg width=300 height=300 viewbox="0 0 30 30">
    <g stroke="red">
        <path d="M 5 10 L 25 10"></path>
        <path d="M 5 15 L 25 15"></path>
        <path d="M 5 20 L 25 20"></path>
    </g></svg>

最后推荐给大家一个svg库snap.svg
可以让我们像jQuery操作DOM一样操作SVG
snap.svg

以上就是SVG(可缩放矢量图形)图片添加、高斯模糊、渐变与g标签的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • 实例讲解使用SVG制作loading加载动画的方法
  • 使用HTML5进行SVG矢量图形绘制的入门教程
  • HTML5新特性之用SVG绘制微信logo
  • 深入浅析HTML5中的SVG
  • 深入解析HTML5使用SVG图像时的viewBox属性用法
  • html5+svg学习指南之SVG基础知识
  • html5中svg canvas和图片之间相互转化思路代码
  • HTML中使用SVG与SVG预定义形状元素介绍
  • HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
  • HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍

相关文章

  • 2018-12-03H5混合开发app如何升级
  • 2018-12-03使用javascript和HTML5 Canvas画的四渐变色播放按钮效果_html5教程技巧
  • 2018-12-03html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形_html5教程技巧
  • 2018-12-03HTML5的一个显示电池状态的API简介_html5教程技巧
  • 2017-08-06HTML5几个设计和修改的页面范例分享
  • 2017-08-06HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
  • 2018-12-03HTML5新特性之WebNotifications
  • 2018-12-03图像灰度化的相关文章推荐
  • 2018-12-03HTML5拖放效果的实现代码
  • 2018-12-03HTML5开发手机应用-详细介绍viewport的作用(图文)

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5 的 hidden="hidden" 和CSS的 display:none有什么区别?
    • html5的video(视频)和audio(音频)标签中的属性用法
    • HTML5 canvas绘制五角星的方法
    • 使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
    • canvas游戏开发学习之一:初识<canvas>标签
    • 多年前对 XHTML 和 HTML5 的预测为什么错的这么离谱?
    • Windows 8的出现是不是意味着,客户端用前端脚本语言,逻辑和后面的服务用C#,所以C++这种就会 慢慢消失在一般的开发过程中?
    • 处理HTML5新标签的浏览器兼容版问题
    • 有哪些应用可以制作在微信上传播的H5页面?
    • HTML5本地数据库实例详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有