一、简介

#topics #no-box-shadow-img { box-shadow: none }

博主头像

svg图片格式不同于其它图片格式,svg图片本质上是一个xml文件,它内部是标记语言,可用文本编辑器打开编辑。

svg除了可以用ai这种制图软件制作以外,我们程序员也可以手写svg代码实现二次开发(从零画图不必要...不至于...)。

二、svg文件简单编辑

svg语法类似于html,且支持css语法,浏览器通过读取css来渲染动画。有趣的是,GitHub的 README.md 文件只支持少数html标签、属性,几乎完全不支持css样式,但是你插入带css的svg图片就没问题。

2.1 嵌套

<g>标签可以用于嵌套,包括嵌套子svg文件,拷贝进去就行。

<g>标签一般使用id属性,而<path> <circle>等标签一般使用class。添加动画的话在<style>标签中使用css即可。

2.2 调整大小

使用以下属性

width="366" height="366" viewBox="0 0 366 366"

前二者好理解,viewBox可有可无,有的话前两位一般是0,后两位最好和width、height保持一致。一般来说,只有<svg>主标签内的viewBox属性比较重要。

2.3 位移

想移动元素在图片中的位置,使用 transform="translate(x y)" 属性。

如你从其它svg中拷贝了一些图形过来,嵌套在<g>标签中,则在<g>标签中使用transform就能调整其位置。

如果xy为0,则图形在最左上角,图形中心的位置是width、height的一半。

2.4 嵌套其它图片格式

如果要在svg中嵌入png、jpg等图片,需要用到<image>标签。

调用远程图片的话,首先确保<svg>主标签内有xmlns:xlink="http://www.w3.org/1999/xlink",然后可以这样使用

<image xlink:href="url" x="0" y="0" width="200" height="200"/>

注意事项参考:https://cloud.tencent.com/developer/section/1423874

此外,远程调用存在一些问题,比如直接在页面中远程使用此svg图片,其中的<image>能显示。如果是被js渲染出的svg图片,则svg中的<image>就可能不被加载。所以我推荐将图片直接存在svg图片中

使用base64编码即可:

>>在线图片base64编码工具<<

将编码结果放入 xlink:href=" 这里 " 即可。

就酱 (๑•̀ㅂ•́)و✧

动态svg图片简单制作的更多相关文章

  1. 彰显个性│制作一个独一无二的动态 svg 头像

    一.头像预览 看一下博主的动态图像,是不是很炫酷,想不想拥有一个? 这是一个 svg 图片,svg 图片不仅可以通过制图软件制作外,其实也可以通过代码进行开发 因为 svg 本质上是一个下 xml 文 ...

  2. 动态插入图片到 svg 中

    动态插入图片到 svg 中使用 createElementNS 来创建svg标签,通过setAttributeNS 来设置属性, 要注意两点,创建的时候要有'http://www.w3.org/200 ...

  3. Svg图片在asp网站上的使用

    最近需要做一个动态的根据后台的返回数据而动态显示的导航图,然后我就采用了jquery+ajax+SVG矢量图来实现这个功能. 首先,客户给了个ai的矢量图,我对这一块不懂就找以前同事帮我转成了svg图 ...

  4. Python3.7将普通图片(png)转换为SVG图片格式并且让你的网站Logo(图标)从此”动”起来

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_148 在之前的几篇文章中,介绍了业界中比较火爆的图片技术SVG(Scalable Vector Graphics),比如Iconf ...

  5. Adobe Edge Animate –解决图形边缘精确检测问题-通过jquery加载svg图片

    Adobe Edge Animate –解决图形边缘精确检测问题-通过jquery加载svg图片 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 在edge ...

  6. WP8.1开发中关于如何显示.gif格式动态格式图片方法

    这几天又遇到个问题,就是如何显示动态图片,本来以为和显示静态图片一样,谁知不行,在网上一查才知道WP8.1不支持.gif格式动态图片的显示: 后来又在MSDN论坛上查找,也有人问类似的问题,后来就大概 ...

  7. SVG交互动画制作

    前面我们已经说过了要怎样制作CSS3动画,但是SVG动画一直都没有时间研究过,正好趁现在有一点时间静下心来研究一下. 一般来说,常见前端动画实现方案分为三种,CSS3动画,HTML动画(SVG动画), ...

  8. vue-cli3项目中解决动态引入图片img404的问题

    博主最近手头再做一个项目,需要调用天气接口,并且还要动态显示天气相关图片icon. 本来以为没什么大问题,结果硬生生被这个动态图片路径搞得民不聊生(博主还是 too young,too simple~ ...

  9. UWP应用载入SVG图片的兼容性方案

    原文 UWP应用载入SVG图片的兼容性方案 新版本<纸书科学计算器>的更新点之一,就是优化了表达式的显示方式.在旧版本中,表达式里的符号是用png图片显示的,当用户放大看的时候会发现一些锯 ...

随机推荐

  1. 手写@koa/router源码

    上一篇文章我们讲了Koa的基本架构,可以看到Koa的基本架构只有中间件内核,并没有其他功能,路由功能也没有.要实现路由功能我们必须引入第三方中间件,本文要讲的路由中间件是@koa/router,这个中 ...

  2. PHP代码审计入门(敏感函数回溯参数过程)

    最近开始啃<代码审计企业级web代码安全架构>这本书,这一章内容看了2天很多内容都理解最主要的是对PHP不熟练所以现在理解了大概 然后进行实地环境搭建最主要的是源码百度真不好找 最后找到一 ...

  3. 这份java多线程笔记,你真得好好看看,我还没见过总结的这么全面的

    1.线程,进程和多线程 1.程序:指指令和数据的有序集合,其本身没有任何意义,是一个静态的概念 2.进程:指执行程序的一次执行过程,是一个动态的概念.是系统资源分配的单位(注意:很多多线程是模拟出来的 ...

  4. 深度分析:面试阿里,字节99%会被问到Java类加载机制和类加载器

    1. 类加载机制 所谓类加载机制就是JVM虚拟机把Class文件加载到内存,并对数据进行校验,转换解析和初始化,形成虚拟机可以直接使用的Jav类型,即Java.lang.Class. 2. 类加载的过 ...

  5. Mac系统应该用什么软件进行清理?

    作为一枚资深的Windows系统使用者,小编刚刚转向Mac系统的怀抱时,各种不适应,Windows系统中普遍使用的360清理软件目前暂时没有Mac版本的,这就让小编很是头疼了,大家的Mac都是用的什么 ...

  6. 详细了解IDM的队列功能

    队列的种类 IDM(Internet Download Manager)下载器的队列分为2种:主要下载队列和同步队列.此外,我们也可以自己创建附加队列. 在左边的[分类]窗口中,黄色的图标为主要下载队 ...

  7. Camtasia中对给录制的视频添加视觉效果

    视频创作和后期剪辑对很多人来说是一件很头痛的事,对着屏幕一段一段.一帧一帧的进行调整会让人十分的心烦,有时花费了大量时间剪出来的视频质量却不高,让人有一种想砸键盘的冲动. 这种问题,除非是原视频素材质 ...

  8. PowerPoint无法正常加载MathType的解决方法

    MathType是一款十分便捷的数学公式编辑器,可以和很多办公软件和网站兼容使用,我们日常用的比较多的也就是Office和WPS,更具体的说是Word\Excel\PPT等等一系列办公常用软件. 不过 ...

  9. word-结构图

    公司单位上下级结构图 总经理 助理 副总经理 财务总监 财务部 人事部 行政部 出口部 进口部 运营总监 储运部 信息部 首先将内容按照上下级排序正确 插入-SmartArt-根据需要选择图形,以上内 ...

  10. zabbix地图显示全国延迟

    Zabbix 地图显示全国延迟 1.  效果图 2.  实现方法 将地图.png上传到zabbix为背景,上传红绿点.png为图标.然后新建主机关联模板为ICMP Ping,新建一个拓扑图调用地图为背 ...