SVG的几个标签元素

摘要:
defssvg允许我们定义以后需要重复使用的图形元素。在defs元素定义的元素不会直接呈现。用法:类别:容器元素,结构元素允许的内容物:任意数量、任意排序的下列元素:动画元素、描述性元素、形状元素、结构化元素、渐变元素、      ,,,,,,,,,,,,,,,,,实例:pattern使用预定义的图形对一个对象进行填充或描边,就要用到pattern元素。用法:类别:外观属性值:|none|inherit可变性:YES规范文档:SVG1.1    元素的引用,它定义了将要应用到该元素的滤镜效果。
defs

svg允许我们定义以后需要重复使用的图形元素。建议把所有需要再次使用的元素定义在defs元素里面。这样做可以增加svg内容的易读性和可访问性。在defs元素定义的元素不会直接呈现。你可以在你的视口的任意地方利用<use>元素呈现这些元素。

用法:

类别: 容器元素,结构元素

允许的内容物:任意数量、任意排序的下列元素:动画元素描述性元素形状元素结构化元素渐变元素、       <a>,<altGlyphDef>,<clipPath>,<colorprofile>,<cursor>,<filter>,<font>,<fontface>,<foreignObject>,<image>,<marker>,<mask>,<pattern>,<script>,<style>,<switch>,<text>,<view>

实例:

<svg width="80px"height="30px"viewBox="0 0 80 30"xmlns="http://www.w3.org/2000/svg">

  <defs>
    <linearGradient id="Gradient01">
      <stop offset="20%"stop-color="#39F" />
      <stop offset="90%"stop-color="#F3F" />
    </linearGradient>
  </defs>

  <rect x="10"y="10"width="60"height="10"fill="url(#Gradient01)"  />
</svg>

pattern

使用预定义的图形对一个对象进行填充或描边,就要用到pattern元素。pattern元素让预定义图形能够以固定间隔在x轴和y轴上重复(或平铺)从而覆盖要涂色的区域。先使用pattern元素定义图案,然后在给定的图形元素上用属性fill或属性stroke引用用来填充或描边的图案。

用法:

类别: 容器元素

允许的内容物:任意数量、任意排序的下列元素:动画元素描述性元素形状元素结构化元素渐变元素<a>,<altGlyphDef>,<clipPath>,<colorprofile>,<cursor>,<filter>,<font>,<fontface>,<foreignObject>,<image>,<marker>,<mask>,<pattern>,<script>,<style>,<switch>,<text>,<view>

marker

marker元素定义了在特定的<path>元素、<line>元素、<polyline>元素或者<polygon>元素上绘制的箭头或者多边标记图形。

用法:

类别: 容器元素

允许的内容物:任意数量、任意排序的下列元素:动画元素描述性元素形状元素结构化元素渐变元素<a>,<altGlyphDef>,<clipPath>,<colorprofile>,<cursor>,<filter>,<font>,<fontface>,<foreignObject>,<image>,<marker>,<mask>,<pattern>,<script>,<style>,<switch>,<text>,<view>

filter

属性filter定义了由<filter>元素定义滤镜效果,该滤镜效果将应用到该元素上。

作为一个外观属性,它可以直接用作CSS样式表内部的属性。请阅读cssfilter以了解更多信息。

用法:

类别: 外观属性

值:<funciri>|none|inherit

可变性: YES

规范文档:SVG 1.1 (2nd Edition)

    <funciri>元素的引用,它定义了将要应用到该元素的滤镜效果。none不对该元素应用任何滤镜效果。

下列元素可以使用filter属性:图形元素»、<a><defs><glyph><g><marker><missing-glyph><pattern><svg><switch><symbol>

feColorMatrix

该滤镜基于转换矩阵对颜色进行变换。每一像素的颜色值(一个表示为[红,绿,蓝,透明度] 的矢量)都经过矩阵乘法 (matrix multiplated) 计算出的新颜色。

用法:

类别: 滤镜元素

允许的内容物:任意数量、任意排序的下列元素:<animate>,<set>

<svg width="100%"height="100%"viewBox="0 0 150 360"preserveAspectRatio="xMidYMid meet"xmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink">

  <text x="70"y="50">Reference</text>
  <g>
    <circle cx="30"cy="30"r="20"fill="blue"fill-opacity="0.5" />
    <circle cx="20"cy="50"r="20"fill="green"fill-opacity="0.5" />
    <circle cx="40"cy="50"r="20"fill="red"fill-opacity="0.5" />
  </g>


  <text x="70"y="120">matrix</text>

  <filter id="colorMeMatrix">
    <feColorMatrix in="SourceGraphic"type="matrix"values="0 0 0 0 0
              1 1 1 1 0
              0 0 0 0 0
              0 0 0 1 0" />
  </filter>

  <g filter="url(#colorMeMatrix)">
    <circle cx="30"cy="100"r="20"fill="blue"fill-opacity="0.5" />
    <circle cx="20"cy="120"r="20"fill="green"fill-opacity="0.5" />
    <circle cx="40"cy="120"r="20"fill="red"fill-opacity="0.5" />
  </g>


  <text x="70"y="190">saturate</text>

  <filter id="colorMeSaturate">
    <feColorMatrix in="SourceGraphic"type="saturate"values="0.2" />
  </filter>

  <g filter="url(#colorMeSaturate)">
    <circle cx="30"cy="170"r="20"fill="blue"fill-opacity="0.5" />
    <circle cx="20"cy="190"r="20"fill="green"fill-opacity="0.5" />
    <circle cx="40"cy="190"r="20"fill="red"fill-opacity="0.5" />
  </g>


  <text x="70"y="260">hueRotate</text>

  <filter id="colorMeHueRotate">
    <feColorMatrix in="SourceGraphic"type="hueRotate"values="180" />
  </filter>

  <g filter="url(#colorMeHueRotate)">
    <circle cx="30"cy="240"r="20"fill="blue"fill-opacity="0.5" />
    <circle cx="20"cy="260"r="20"fill="green"fill-opacity="0.5" />
    <circle cx="40"cy="260"r="20"fill="red"fill-opacity="0.5" />
  </g>


  <text x="70"y="320">luminanceToAlpha</text>

  <filter id="colorMeLTA">
    <feColorMatrix in="SourceGraphic"type="luminanceToAlpha" />
  </filter>

  <g filter="url(#colorMeLTA)">
    <circle cx="30"cy="310"r="20"fill="blue"fill-opacity="0.5" />
    <circle cx="20"cy="330"r="20"fill="green"fill-opacity="0.5" />
    <circle cx="40"cy="330"r="20"fill="red"fill-opacity="0.5" />
  </g>
</svg>
示例

foOffset

该输入图像作为一个整体,在属性dx和属性dy的值指定了它的偏移量。

用法:

类别: 滤镜元素

允许的内容物:任意数量、任意排序的下列元素:<animate>,<set>

feMerge

feMerge滤镜允许同时应用滤镜效果而不是按顺序应用滤镜效果。利用result存储别的滤镜的输出可以实现这一点,然后在一个<feMergeNode>子元素中访问它。

用法:

类别: 滤镜元素

允许的内容物:任意数量、任意排序的下列元素:<feMergeNode>

feMergeNode

feMergeNode元素拿另一个滤镜的结果,让它的父<feMerge>元素处理。

用法:

类别: 无

允许的内容物:任意数量、任意排序的下列元素:<animate>,<set>

SVG相关资料网站:https://developer.mozilla.org/en-US/docs/Web/SVG

免责声明:文章转载自《SVG的几个标签元素》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SpringMVC加载配置Properties文件的几种方式Python实现快捷输入(类似WeGame的一键喊话)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Inkscape 强大的 SVG 编辑器

Scalable Vector Graphics (简称 SVG ),是“可升级矢量图形”的意思。SVG 是由 W3C 制定的基于可扩展标记语言 (XML) 来描述二维矢量图型的一个开放标准。 SVG 严格遵从 XML 语法,SVG 并用文本格式的描述性语言来描述图像内容,因此 SVG 是一种和图像分辨率无关的矢量图形格式。 虽然 SVG 基于 XML,...

SVG素材整理(原)

why SVG? 1.矢量的国际图形标准,以后随着浏览器的发展,相信矢量会更多的出现 2.illustartor等多数矢量绘图软件可以导出为这种格式 so SVG现状 基本介绍:http://zh.wikipedia.org/wiki/%E5%8F%AF%E7%B8%AE%E6%94%BE%E5%90%91%E9%87%8F%E5%9C%96%E5%BD...

超级强大的SVG SMIL animation动画详解

//zxx: 本文的SVG在有缓存时候是无动画效果,此时您可以试着【右键-新标签页打开图片】。 一、SVG SMIL animation概览 1. SMIL是什么?SMIL不是指「水蜜梨」,而是Synchronized Multimedia Integration Language(同步多媒体集成语言)的首字母缩写简称,是有标准的。本文所要介绍的SVG动画...

使用echarts插件做图表常见的几个问题(五)——图形的两种渲染方式

场景:echarts中图形有两种渲染方式,canvas渲染和svg渲染,分别运用在什么样的场景下 措施:Canvas 更适合绘制图形元素数量非常大(这一般是由数据量大导致)的图表(如热力图、地理坐标系或平行坐标系上的大规模线图或散点图等),也利于实现某些视觉特效;在不少场景中,SVG 具有重要的优势:它的内存占用更低(这对移动端尤其重要)、渲染性能略高、并...

SVG研究之路(一)

https://css-tricks.com/mega-list-svg-information/ rect 矩形 <svg height='200'> <g transform="translate(10 50) rotate(-30)"> <!-- 移动 (10,50) 旋转 -30 -->...

canvas和svg

canvas 画布   位图   1.   不要在style中给canvas设置宽高  会有位移差   2. 给c设置一个绘图环境 得到的是一个对象     var c=document.getElementById("c1")     var can=c.getContentext("2d");   3. fillRect()   绘制一个填充的方块 默...