【前端SVG】自定义引入图像文件
前言
SVG
可以自定义引入图像文件(JPGE
、PNG
),也可以使用JavaScript进行操作SVG。让我们的SVG更加丰富。
image
image标签用于在SVG
画布中插入图像文件,下面是一个在画布中插入图片的实例。
<!-- image
<svg width="200" height="200">
<image xlink:href="./img/pic.jpg" x="0" y="0" height="50px" width="50px"></image>
</svg>
<!-- img
<img src="./img/pic.jpg" alt="pic">
这个标签与HTML
中的img
标签一样,是引入图像文件,但是引入的方式不同,img
是使用src
属性来引入图像文件,而image
标签需要通过xlink:href
链接引入图像文件。在image
你还需要指定一些属性,用于控制image
标签。
属性 | 说明 |
---|---|
x、y | 设定图像标签在坐标系统的坐标点 |
width、height | 设定图像标签宽度 / 高度 |
xlink:href | 引用图像文件 |
preserveAspectRatio | 设置图像比例(具体使用可参考第二章) |
javascript操作SVG
如果 SVG
代码直接写在 HTML
网页之中,它就成为网页 DOM
的一部分,可以直接用 DOM
操作。
我们看看这个例子:
<svg width="200" height="200">
<rect id="myRect" x="10" y="10" width="50" height="50" fill="red"></rect>
</svg>
<script>
const myRectDom = document.getElementById('myRect')
myRectDom.addEventListener('click', (e) => {
myRectDom.setAttribute('width', 80);
myRectDom.setAttribute('height', 80);
}, false);
</script>
<style>
#myRect {
transition: all 1s;
}
</style>
上面例子中,当我们点击矩形时,矩形的宽高从50*50
过渡到80*80
的的效果。
我们先是在rect
标签中绑定一个ID值,在JavaScript中获取这个标签(DOM
)。给rect
标签绑定一个点击事件,让rect
标签被点击时,使用setAttribute
属性将宽高设置为80
。为了有一个过渡效果,我给这个rect
添加了动画,也就是transition: all 1s;
这行代码。
最后
本篇文章讲述了SVG的关于image
标签的使用与一个使用JavaScript
操作SVG
的例子,感谢你的阅读!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanekkb
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24