• 如何在Vue中渲染SVG图片
  • 发布于 2个月前
  • 601 热度
    0 评论
可缩放矢量图形(SVG)基于XML标准,用于定义图像。与其他图像格式类似,SVG可以进行索引、搜索、压缩和脚本编写。与PNG等位图图像格式不同,SVG可以在任何大小下呈现而不失去质量。

SVG在现代应用中被广泛使用,主要是因为它们用户友好的特性以及无论在哪种屏幕尺寸上渲染,都能保持图像质量的能力。

渲染SVG文件
在Vue.js中,有三种主要的方法来渲染SVG文件。其中一种方法是将SVG文件封装在Vue.js模板组件中,然后将其作为组件导入和使用。另一个选择是使用默认的 <img> 标签来渲染SVG文件。采用这种方法,您只需将SVG文件的路径作为 src 属性提供,文件将显示为图像。

SVG作为模板文件
在这个表单中,我们可以将SVG文件直接包含在 template 标签中,并按原样渲染。在下面的模板中,我们有一个以SVG图像表示的carbon:at @ 符号
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 3A12.92 12.92 0 0 0 3 16v1a13 13 0 0 0 13 13h7v-2h-7A11 11 0 0 1 5 17v-1A10.94 10.94 0 0 1 16 5a10.64 10.64 0 0 1 11 11c0 3.59-1.4 5-3.66 5c-1.58 0-2.34-1.29-2.34-3v-8h-2v1.94A3.84 3.84 0 0 0 15.5 10a5.48 5.48 0 0 0-5.5 5.44v2.12A5.48 5.48 0 0 0 15.5 23a4.28 4.28 0 0 0 4-2.46A4.35 4.35 0 0 0 23.41 23c3.07 0 5.59-2 5.59-7A12.72 12.72 0 0 0 16 3Zm3 14.56a3.5 3.5 0 0 1-7 0v-2.12a3.5 3.5 0 0 1 7 0Z"></path></svg>
</template>
<script lang="ts">
export default {
  name: 'CarbonAt'
}
</script>
在Vuejs中,将SVG作为文件模板,我们可以像使用任何Vue组件一样轻松导入和使用它。我们还可以像指定宽度和高度一样调整它的大小,就像处理普通的SVG一样。
<script setup>
import CarbonAt from './CarbonAt.vue';
</script>
<template>
    <CarbonAt />
</template>
SVG作为图像文件
另一种渲染SVG文件的方法是使用HTML的 <img> 标签来指定它们的位置,并使用 src 属性。这种方法将SVG文件渲染为图像文件,其中 src 属性指向特定SVG文件的位置。

由于 <img> 标签具有渲染各种图像格式的能力,包括APNG(动画便携式网络图形)、AVIF(AV1图像文件格式)、GIF(图形交换格式)、JPEG(联合图像专家组图像)、PNG(便携式网络图形)、SVG(可缩放矢量图形)和WebP(Web图片格式),它为整合不同类型的视觉内容提供了多功能的解决方案。
<template>
  <div>
    <img :src="CarbonAt" alt="image of carbon at">
  </div>
</template>

<script setup>
import CarbonAt from './CarbonAt.svg';

</script>
使用Object标签
在Vuejs中呈现SVG图像的另一种可能的方法是使用 object 标签。当您希望对SVG文件的呈现方式有更多控制时,可以使用 object 。
<template>
  <div>
    <object :data="svgUrl" type="image/svg+xml"></object>
  </div>
</template>

<script setup>
const svgUrl = 'https://api.iconify.design/carbon:branch.svg';
</script>
将SVG文件渲染到您的Vue.js应用程序中可以显著提升其效果,并带来许多优势。
用户评论