该公司今天没有,研究了最近流行SVG技术,发现,随着css3不断流行,和浏览器技术的发展,SVG网站将取代大量的图片,成为主流站点图片展示。

AI是我们经常使用的矢量图编辑器,如今AI能够直接另存SVG图片。SVG图片相比传统图片,占位更小,浏览更方便!

并且可扩展性更强!

以下看一个SVG的样例:

<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg"> <circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red"/> </svg>

解释:

第一行包括了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文件是否是“独立的”。或含有对外部文件的引用。

standalone="no" 意味着 SVG 文档会引用一个外部文件 - 在这里。是 DTD 文件。

第二和第三行引用了这个外部的 SVG DTD。该 DTD 位于 “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd”。该 DTD 位于 W3C。含有全部同意的 SVG 元素。

SVG 代码以 <svg> 元素開始,包含开启标签 <svg> 和关闭标签 </svg> 。

这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本号,xmlns 属性可定义 SVG 命名空间。

SVG 的 <circle> 用来创建一个圆。

cx 和 cy 属性定义圆中心的 x 和 y 坐标。假设忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。

stroke 和 stroke-width 属性控制怎样显示形状的轮廓。

我们把圆的轮廓设置为 2px 宽,黑边框。

fill 属性设置形状内的颜色。

我们把填充颜色设置为红色。

HTML 页面中的 SVG

SVG 文件可通过下面标签嵌入 HTML 文档:<embed>、<object> 或者 <iframe>。

SVG元素汇总

元素列中的链接指向了详细元素的相关属性和很多其它实用的信息。

元素 描写叙述
a 定义超链接
altGlyph 同意对象性文字进行控制。来呈现特殊的字符数据(比如,音乐符号或亚洲的文字)
altGlyphDef 定义一系列象性符号的替换(比如,音乐符号或者亚洲文字)
altGlyphItem 定义一系列候选的象性符号的替换
animate 随时间动态改变属性
animateColor 规定随时间进行的颜色转换
animateMotion 使元素沿着动作路径移动
animateTransform 对元素进行动态的属性转换
circle 定义圆
clipPath  
color-profile 规定颜色配置描写叙述
cursor 定义独立于平台的光标
definition-src 定义单独的字体定义源
defs 被引用元素的容器
desc 对 SVG 中的元素的纯文本描写叙述 - 并不作为图形的一部分来显示。

用户代理会将其显示为工具提示。

ellipse 定义椭圆
feBlend SVG 滤镜。使用不同的混合模式把两个对象合成在一起。
feColorMatrix SVG 滤镜。

应用matrix转换。

feComponentTransfer SVG 滤镜。运行数据的 component-wise 重映射。
feComposite SVG 滤镜。

feConvolveMatrix SVG 滤镜。
feDiffuseLighting SVG 滤镜。
feDisplacementMap SVG 滤镜。
feDistantLight SVG 滤镜。

Defines a light source

feFlood SVG 滤镜。

feFuncA SVG 滤镜。

feComponentTransfer 的子元素。

feFuncB SVG 滤镜。feComponentTransfer 的子元素。

feFuncG SVG 滤镜。

feComponentTransfer 的子元素。

feFuncR SVG 滤镜。feComponentTransfer 的子元素。
feGaussianBlur SVG 滤镜。对图像运行高斯模糊。
feImage SVG 滤镜。
feMerge SVG 滤镜。创建累积而上的图像。

feMergeNode SVG 滤镜。feMerge的子元素。
feMorphology SVG 滤镜。

对源图形运行"fattening" 或者 "thinning"。

feOffset SVG 滤镜。

相对与图形的当前位置来移动图像。

fePointLight SVG 滤镜。
feSpecularLighting SVG 滤镜。

feSpotLight SVG 滤镜。

feTile SVG 滤镜。
feTurbulence SVG 滤镜。
filter 滤镜效果的容器。

font 定义字体。
font-face 描写叙述某字体的特点。

font-face-format  
font-face-name  
font-face-src  
font-face-uri  
foreignObject  
g 用于把相关元素进行组合的容器元素。
glyph 为给定的象形符号定义图形。
glyphRef 定义要使用的可能的象形符号。

hkern  
image  
line 定义线条。
linearGradient 定义线性渐变。
marker  
mask  
metadata 规定元数据。
missing-glyph  
mpath  
path 定义路径。
pattern  
polygon 定义由一系列连接的直线组成的封闭形状。

polyline 定义一系列连接的直线。
radialGradient 定义放射形的渐变。
rect 定义矩形。

script 脚本容器。(比如ECMAScript)
set 为指定持续时间的属性设置值
stop  
style 可使样式表直接嵌入SVG内容内部。
svg 定义SVG文档片断。
switch  
symbol  
text  
textPath  
title 对 SVG 中的元素的纯文本描写叙述 - 并不作为图形的一部分来显示。

用户代理会将其显示为工具提示。

tref  
tspan  
use  
view  
vkern  

版权声明:本文博客原创文章,博客,未经同意,不得转载。

SVG图像技术摘要的更多相关文章

  1. Art-Directing SVG图像viewBox属性

    Art-Directing SVG图像viewBox属性 作者:彦子 日期:2015-06-02 点击:992 svg 译者注:根据Google Dev文档的解释,Art Direction在这篇文章 ...

  2. 使用SVG图像作为loading加载 以保证图像高清不模糊

    使用教程 接下来设计达人网小编为大家讲解这个使用方法,其实是相当简单的. STEP 1: 复制你想要的SVG加载动画代码到<body>里面,小编随意复制一个代码如下:<svg ver ...

  3. SVG 图像入门教程

    http://www.ruanyifeng.com/blog/2018/08/svg.html 一.概述 SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector ...

  4. SVG图像学习

    参考阮一峰老师: SVG 图像入门教程 基本使用 可以直接放入到html中 <body> <svg viewBox="0 0 800 600" > < ...

  5. HMS Core图形图像技术展现最新功能和应用场景,加速构建数智生活

    [2022年7月15日,杭州]HUAWEI Developer Day(华为开发者日,简称HDD)杭州站拉开帷幕.在数字经济不断发展的今天,开发者对图形图像的开发需求更加深入和多样化,从虚拟环境重构到 ...

  6. NVIDIA | 一种重建照片的 AI 图像技术

    简评:或许可以称之为「擦擦乐」~ 建议大家看看视频示例 ~ 前几天,NVIDIA 的研究人员介绍了一种新的 深度学习 方法,使用该方法可以重建缺失像素的图像内容. 这种方法被称为「image inpa ...

  7. GDI+图形图像技术1

    System.Drawing命名空间提供了对GDI+基本图形功能的访问,其中一些子命名空间中提供了更高级的功能. GDI+由GDI发展而来,是Windows图形显示程序与实际物理设备之间的桥梁. GD ...

  8. svg技术(可缩放矢量图形)介绍

    公司里面的产品用图表的地方也比较多,作为平台维护的我,收到几次需求提的建议中包括图表美化的功能,要炫,要3d,立体感,功能要强大等到:平台现有控件都是用的一个开源flash,我对flash虽然会一点但 ...

  9. JavaScript对SVG进行操作的相关技术

    原文地址:http://www.ibm.com/developerworks/cn/xml/x-svgscript/   本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识. SVG ...

随机推荐

  1. 数据库连接技术之OLE DB

    之前的博客介绍了ODBC和JDBC.这次简单的介绍一下OLE DB.ODBC的总结不知道是没贴到博客上还是不在这个博客上,我再找找,没有的话我再补充到时候.好了.開始吧. 回想 之前呢介绍过了ODBC ...

  2. Python学习入门基础教程(learning Python)--3.1Python的if分支语句

    本节研究一下if分支语句. if分支语句是Python下逻辑条件控制语句,用于条件执行某些语句的控制操作,当if后的条件conditon满足时,if其下的语句块被执行,但当if的控制条件condito ...

  3. Objective-C类的使用

    Objective-C教程的例题: // // main.m // test // // Created by liwei on 14-10-28. // Copyright (c) 2014年 li ...

  4. 为什么不要在android或者ios上直连mysql或者sqlserver之类的数据库(跳大神)

    很多同学 都有直连这些数据库的想法,假设我说了下面二个问题之后你还想直连,那我也没办法 数据库是一个服务端最重要的部分,也是最脆弱的部分,更是最敏感的部分 假设直连会造成例如以下问题 1.安全问题,你 ...

  5. hdu1520 (树形dp)

    hdu1520 http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意是给定一棵树,每个结点有一个价值,要我们选择任意个结点使得总价值最大,规则是如果父亲结 ...

  6. Windows Phone开发(15):资源

    原文:Windows Phone开发(15):资源 活字印刷术是我国"四大发明"之一,毕昇在发明活字印刷术之后,他很快发现一个问题,随着要印刷资料的不断增加,要用到的汉字数目越来越 ...

  7. SQL注入问题

    斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处! 背景:对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义 ...

  8. mysql重装后出现乱码解决办法

    查看当前连接系统参数:SHOW VARIABLES LIKE '%char%'; mysql> show variables like 'char%'; +------------------- ...

  9. 【Hibernate步步为营】--双向关联一对一映射具体解释(一)

    一对一的映射在对象模型中是常常见到的,为了将对象模型转换为关系模型就必须在映射文件里进行配置,上篇文章讨论了一对一映射的单向关联的情况,重点是<one-to-one>标签的使用,须要在映射 ...

  10. POJ 3450 Corporate Identity KMP解决问题的方法

    这个问题,需要一组字符串求最长公共子,其实灵活运用KMP高速寻求最长前缀. 请注意,意大利愿父亲:按照输出词典的顺序的规定. 另外要提醒的是:它也被用来KMP为了解决这个问题,但是很多人认为KMP使用 ...