前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SVG图像技术摘要

SVG图像技术摘要

作者头像
全栈程序员站长
发布于 2022-07-06 03:00:07
发布于 2022-07-06 03:00:07
1.4K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是全栈君。

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

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

并且可扩展性更强!

以下看一个SVG的样例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117178.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月9,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SVG基础
SVG可缩放矢量图形Scalable Vector Graphics是基于可扩展标记语言XML,用于描述二维矢量图形的一种图形格式。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式,SVG于2003年成为W3C推荐标准。
WindRunnerMax
2020/08/27
2.5K0
Arcgis for JavaSctipt之常用Layer详解
概述:Arcgis for Javasctipt中常见的layer有动态图层(ArcGISDynamicMapServiceLayer
牛老师讲GIS
2018/10/23
1.5K0
Arcgis for JavaSctipt之常用Layer详解
UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制
本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持。  首先我们来看一下 SVG 的文件结构和组成 SVG
Shao Meng
2018/04/28
1.8K0
UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制
SVG精髓阅读笔记
SVG,是一种可缩放矢量图形,一种XML应用.可以以一种简洁,可移植的形式表示图形信息.
拿我格子衫来
2022/01/24
1.6K0
前端架构师之路03_移动端规范兼容处理
移动端开发中我们使用 rem 作为基本计量单位,同时将根节点默认字号大小设为 font-size:62.5%,因移动端浏览器默认字号大小为 16px,16*62.5% 刚好为 10px
张哥编程
2024/12/13
2140
前端架构师之路03_移动端规范兼容处理
SVG学习笔记,持续记录。
SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。SVG提供了3种类型的图形对象:矢量图形(vectorgraphicshape,例如:由直线和曲线组成的路径)、图像(image)、文本(text)。图形对象还可进行分组、添加样式、变换、组合等操作,特征集包括嵌套变换(nestedtransformations)、剪切路径(clippingpaths)、alpha蒙板(alphamasks)、滤镜效果(filtereffects)、模板对象(templateobjects)和其它扩展(extensibility)。
房东的狗丶
2023/02/17
3.1K0
SVG学习笔记,持续记录。
SVG基础知识
之前有提到过SVG描边动画,可以实现很神奇的手写签名动画效果,当然,理论上可以用来实现任意不规则路径填充动画
ayqy贾杰
2019/06/12
2.2K0
SVG初识
个人认为现在svg可能有点过时了,svg的很多功能css3或者canvas都能做到很好的效果,
用户3055976
2018/09/12
1.6K0
SVG初识
win10 uwp 显示SVG win2d 使用 svg
这些图片在http://www.zcool.com.cn/下载,不知道是不是不能直接用
林德熙
2018/09/18
1.3K0
win10 uwp 显示SVG
            win2d 使用 svg
SVG - 基本的SVG属性
SVG - 基本的SVG属性 HTML5学堂:在前一篇文章当中,我们讲解了SVG的基本知识,并且为大家介绍了如何在html文件当中书写SVG代码。今天我们具体讲解SVG的基本属性,如何使用SVG完成线、圆等图形的绘制。 line - 直线 拥有四中基本属性 x1 属性在 x 轴定义线条的开始 y1 属性在 y 轴定义线条的开始 x2 属性在 x 轴定义线条的结束 y2 属性在 y 轴定义线条的结束 demo <line x1 = "20" y1 = "20" x2 = "200" y2 = "180" st
HTML5学堂
2018/03/12
4.3K0
一篇文章带你了解SVG 阴影
所有互联网的SVG滤镜定义在<defs>元素中。<defs>元素定义短并含有特殊元素(如滤镜)定义<filter>标签用来定义SVG滤镜。
前端进阶者
2021/03/03
9400
一篇文章带你了解SVG 阴影
一个比想象中更骚气的圆-svg实现
之前写了一篇Canvas画图-一个比想象中更骚气的圆(渐变圆环),其实SVG也可以实现类似的效果,而且两者api惊人的相似。 关于SVG SVG是一种矢量图形,在图形改变尺寸的情况下质量不会损失。 相比canvas,svg有一个很大的优势就是内联进html的时候可以像操作dom一样操作svg,这样做起动画来非常方便。 本文不会介绍svg的基础知识,不过也没涉及什么复杂的东西,基于xml的语法还是比较好理解的。 期望实现的效果和Canvas一样是颜色非对称的沿着圆周进行渐变。 SVG的渐变 和之前讲ca
Bob.Chen
2018/05/02
3.4K0
一个比想象中更骚气的圆-svg实现
小心!最近在 Python 项目开发中遇到的3个安全漏洞
在修复完毕之后,来给大家简单地总结分享一下,以提高大家在程序编写和项目开发中的安全意识。
州的先生
2021/09/29
8320
卡牌特效: svg不规则倒计时动效
导语:直播过程中,往往会有各种动画特效增强直播效果,近期需求中,设计要求在企鹅电竞PC官网上实现一种卡牌效果,在不规则图片上叠加倒计时效果。前端项目中,往往使用css来完成动画,像倒计时效果也可以使用css完成,但是相对来说css实现方案比较复杂,层次嵌套较多。倒计时动效要求覆盖图片的倒计时阴影为非规则且半透明的。在日常的圆环动画中,也会有类似的倒计时效果,只不过圆环是规则的,实现起来比较简单。但是基于圆环效果,再加上svg的mask特性,就可以实现此类特殊效果。 [ 实现动态图]  css的m
腾讯技术工程官方号
2019/07/17
2.3K0
卡牌特效: svg不规则倒计时动效
FinClip小程序里如何安全使用SVG
网上零零散散有一些关于在小程序中如何使用SVG的内容,但不是语焉不详,就是信息不完整。在此整理一下,供哪怕是此前从来没有接触过SVG的开发者也可以参考,迅速利用。首先SVG可以被视为一种DSL(Domain Specific Language),也就是说它并不仅仅是JPEG、PNG、GIF之外的又一种图片格式,它还是一种“代码”;也因此,它既有无比的潜力让开发者发挥创意作出有意思的应用,它也有潜在安全风险。在小程序中,起码至目前为止,它的使用方式和在普通网页并不完全一样。
Onegun
2022/05/07
2.4K0
FinClip小程序里如何安全使用SVG
想要字体图标设计师却给了SVG?没关系,自己转
Varlet提供了一些常用的图标,图标都来自 Material Design Icon。
街角小林
2022/10/27
1.3K0
在小程序中 SVG 的打开方式
第一种,也是最简单直观的方式,即把svg后缀的文件视作为和PNG、JPEG、GIF类似的图片:
pak
2022/08/11
2.2K0
SVG 入门指南(初学者入门必备)
SVG,即可缩放矢量图形(Scalable Vector Graphics),是一种 XML 应用,可以以一种简洁、可移植的形式表示图形信息。目前,人们对 SVG 越来越感兴趣。大多数现代浏览器都能显示 SVG 图形,并且大多数矢量绘图软件都能导出 SVG 图形。SVG 主要可以概括为以下几点:
前端小智@大迁世界
2020/07/29
3.5K0
SVG 入门指南(初学者入门必备)
SVG基础知识速查笔记
svg是指可缩放矢量图形,是用于描述二维矢量图形的一种图形格式。svg使用XML格式来定义图形,除ie8之前版本外,绝不部分浏览器均支持svg,可将svg文本直接嵌入HTML中显示。
前端_AWhile
2019/09/06
2K0
SVG
HTML体系中,最常用的绘制矢量图的技术是SVG和HTML5新增加的canvas元素。这两种技术都支持绘制矢量图和光栅图。不过canvas更偏重于动画的制作。所以,绘制矢量图的大任落到了SVG身上。
踏浪
2019/07/31
5.9K0
SVG
相关推荐
SVG基础
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验