SVGJS操作

svgjs用于操作 SVG 和动画的轻量级库。

官网 SVG.js v3.2 |家 (svgjs.dev)

效果

代码如下

<template><h3>测试操作已有SVG</h3><button @click="changeText()">利用ID定位</button><button @click="changeChild()">changeText</button><br/><div id="svgdiv"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="500"height="300"> <title>编组 8</title><desc>Created with Sketch.</desc><defs><linearGradient x1="0%" y1="55.1934265%" x2="100%" y2="53.8302813%" id="linearGradient-1"><stop stop-color="#A5C4D6" offset="0%"></stop><stop stop-color="#C2DEEE" offset="54.9605389%"></stop><stop stop-color="#A6C4D7" offset="100%"></stop></linearGradient><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-2"><stop stop-color="#12BCFF" offset="0%"></stop><stop stop-color="#02FFF5" stop-opacity="0" offset="100%"></stop></linearGradient><linearGradient x1="50%" y1="15.5856635%" x2="50.9111047%" y2="67.3949442%" id="linearGradient-3"><stop stop-color="#27D0F9" stop-opacity="0" offset="0%"></stop><stop stop-color="#FFFFFF" stop-opacity="0.256482111" offset="49.4772045%"></stop><stop stop-color="#27CFFB" stop-opacity="0.657014266" offset="100%"></stop></linearGradient><polygon id="path-4" points="0.00292682927 0.0410609756 39.9590244 0.0410609756 39.9590244 40.0000488 0.00292682927 40.0000488"></polygon><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-6"><stop stop-color="#12BCFF" offset="0%"></stop><stop stop-color="#0160E8" offset="100%"></stop></linearGradient><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-7"><stop stop-color="#12BCFF" offset="0%"></stop><stop stop-color="#0160E8" offset="100%"></stop></linearGradient></defs><rect width="20" height="20" x="0" y="0" fill="#ff0066"></rect><rect width="20" height="20" x="20" y="20" fill="#ff0066"></rect><rect width="20" height="20" fill="#ff0066" x="40" y="0"></rect><rect width="20" height="20" fill="#ff0066" x="0" y="40"></rect><circle id="circle" r="10" cx="50" cy="50" fill="#ff0066"></circle><text x="100" y="106"><tspan dy="0" x="10" id="textdiv">Hello SVG</tspan></text><g><path d="M55.875,16.5 C56.0821068,16.5 56.25,16.6678932 56.25,16.875 L56.25,25.875 C56.25,26.0821068 56.0821068,26.25 55.875,26.25 C55.6678932,26.25 55.5,26.0821068 55.5,25.875 L55.5,16.875 C55.5,16.6678932 55.6678932,16.5 55.875,16.5 Z" id="Rectangle-6" fill="url(#linearGradient-2)"></path><path d="M36.375,19.5 C36.5821068,19.5 36.75,19.6678932 36.75,19.875 L36.75,28.875 C36.75,29.0821068 36.5821068,29.25 36.375,29.25 C36.1678932,29.25 36,29.0821068 36,28.875 L36,19.875 C36,19.6678932 36.1678932,19.5 36.375,19.5 Z" id="Rectangle-6-Copy" fill="url(#linearGradient-2)" opacity="0.500905797"></path><path d="M63.375,28.5 C63.5821068,28.5 63.75,28.6678932 63.75,28.875 L63.75,37.875 C63.75,38.0821068 63.5821068,38.25 63.375,38.25 C63.1678932,38.25 63,38.0821068 63,37.875 L63,28.875 C63,28.6678932 63.1678932,28.5 63.375,28.5 Z" id="Rectangle-6-Copy-2" fill="url(#linearGradient-2)" opacity="0.500905797"></path><rect id="Rectangle-6-Copy-5" fill="url(#linearGradient-2)" opacity="0.720278533" x="57" y="46.5" width="1" height="9.75" rx="0.5"></rect><path d="M32.625,45 C32.8321068,45 33,45.1678932 33,45.375 L33,54.375 C33,54.5821068 32.8321068,54.75 32.625,54.75 C32.4178932,54.75 32.25,54.5821068 32.25,54.375 L32.25,45.375 C32.25,45.1678932 32.4178932,45 32.625,45 Z" id="Rectangle-6-Copy-6" fill="url(#linearGradient-2)" opacity="0.500905797"></path><path d="M28.875,29.25 C29.0821068,29.25 29.25,29.4178932 29.25,29.625 L29.25,38.625 C29.25,38.8321068 29.0821068,39 28.875,39 C28.6678932,39 28.5,38.8321068 28.5,38.625 L28.5,29.625 C28.5,29.4178932 28.6678932,29.25 28.875,29.25 Z" id="Rectangle-6-Copy-3" fill="url(#linearGradient-2)" opacity="0.500905797"></path><path d="M44.625,51 C44.8321068,51 45,51.1678932 45,51.375 L45,60.375 C45,60.5821068 44.8321068,60.75 44.625,60.75 C44.4178932,60.75 44.25,60.5821068 44.25,60.375 L44.25,51.375 C44.25,51.1678932 44.4178932,51 44.625,51 Z" id="Rectangle-6-Copy-4" fill="url(#linearGradient-2)" opacity="0.500905797"></path><path d="M0,62.0928688 C0.660866835,75.5939223 15.8389753,83.1462994 45.5343255,84.75 C88.8376691,83.6027592 93.0930486,67.1565 92.565431,62.0928688 L93.75,3.8052316 C78.6952656,6.46876398 63.1822994,7.80053017 47.2111013,7.80053017 C31.2399033,7.80053017 15.5028695,5.20035344 0,0 L0,62.0928688 Z" id="Path-47" fill="url(#linearGradient-3)" opacity="0.50073596"></path></g></svg></div>
</template>
<script setup>import { onMounted, reactive, ref } from "vue";
import { SVG, Rect } from '@svgdotjs/svg.js'const testref = ref("Hello SVG");function testclicked() {console.log("test clicked");
};onMounted(() => {console.log("mounted");
})function changeText()
{//利用id直接定位修改console.log("change text");SVG("#textdiv").text("new text");SVG("#circle").attr('fill', '#ff00ff');console.log(SVG("#textdiv"));
}function changeChild()
{let rects = SVG("#svgdiv rect"); //获取到第一个rectrects.fill("#ffaa00");//find 获取所有的rectSVG("#svgdiv").find("rect").fill("#ffff00");console.log(rects);
}</script><style scoped></style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/52525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Hot100】LeetCode—322. 零钱兑换

目录 1- 思路动态规划 2- 实现⭐322. 零钱兑换——题解思路 3- ACM 实现 原题链接&#xff1a;322. 零钱兑换 1- 思路 动态规划 动规五部曲 1- 定义 dp 数组确定含义 dp[j] 代表凑到金钱为 j 的最少硬币个数 2- 递推公式 dp[j] Math.min(dp[j],dp[amount-]1) 3- 初始化 dp[…

【苍穹外卖】前端 Day 1

1 Vue 1.1 通过 vue cli 脚手架创建前端工程 1.2 项目结构 1.3 启动项目 VS Code 启动前端项目&#xff1a; npm run serve 注意这里占用端口号 8080 与 java springboot 占用端口号一致&#xff0c;有冲突 serve 是这个名字 终止&#xff1a;ctrl c 修改端口号 2 vue 基本…

信刻光盘安全隔离与信息交换系统

随着各种数据传输、储存技术、信息技术的快速发展&#xff0c;保护信息安全是重中之重。军工、政府、部队及企事业单位等利用A网与B网开展相关工作已成为不可逆转的趋势。针对于业务需要与保密规范相关要求&#xff0c;涉及重要秘密信息&#xff0c;需做到安全的物理隔离&#…

C#中常用的5个访问修饰符

在C#中&#xff0c;访问修饰符&#xff08;Access Modifiers&#xff09;用于定义类、方法、属性、变量等成员的可访问性范围。它们决定了哪些代码能够访问特定的成员。以下是C#中最常用的五个访问修饰符&#xff1a; public public 修饰符表示该成员是公开的&#xff0c;可以被…

离线版问卷-可集成到现有系统

目录标题 离线版问卷&#x1f4a1;前言亮点场景题外话 &#x1f3a8; 预览&#x1f308; 技术栈&#x1f4e6; 仓库&#x1f4bb; 初始化&#x1f680; 启动&#x1f6e0;️ 打包&#x1f5c2; 目录结构✨ 使用方法集成【设计问卷】集成【填写问卷】集成【只读问卷】集成【填答…

省委书记邀约大学生创业,长沙又一次为年轻人沸腾

敢想敢做的大学生&#xff0c;一直是创新创业的主力军。尤其是这些年“学术型”创业团队在各行各业越来越多见&#xff0c;市场对他们的接纳和支持力度也越来越强&#xff0c;给了新一代的大学生们更大的底气。 以往&#xff0c;大学生创业经常“落地生根”&#xff0c;先搞事…

【编译原理】编译器概述、编译器结构、编译器实例

编译器概述、编译器结构、编译器实例 编译器概述 1.编译器是一个程序 核心功能是把源代码翻译成目标代码 比如源代码&#xff1a;C/C&#xff0c;Java&#xff0c;C#&#xff0c;html 目标代码&#xff1a;X86&#xff0c;IA64,ARM,… 把一种源程序翻译成另外一种源程序&…

Facebook的秘密算法:如何提升你的社交体验

在数字时代&#xff0c;社交媒体平台已经成为我们日常生活的重要组成部分。作为全球最大的社交网络之一&#xff0c;Facebook通过其复杂的算法&#xff0c;影响着亿万用户的社交体验。这些算法不仅决定了我们在平台上看到的内容&#xff0c;还在背后默默优化我们的互动方式。本…

[数据集][目标检测]汽车头部尾部检测数据集VOC+YOLO格式5319张3类别

数据集制作单位&#xff1a;未来自主研究中心(FIRC) 版权单位&#xff1a;未来自主研究中心(FIRC) 版权声明&#xff1a;数据集仅仅供个人使用&#xff0c;不得在未授权情况下挂淘宝、咸鱼等交易网站公开售卖,由此引发的法律责任需自行承担 数据集格式&#xff1a;Pascal VOC格…

SpringSecurity剖析

1、SpringSecurity 入门 1.1、简介 Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的实际标准。Spring Security是一个框架&#xff0c;致力于为Java应用程序提供身份验证和授权。与所有Spring项目一样&#xff0c;Sp…

红帽RHCE认证值不值得考?RHCE认证有什么用?

在IT行业&#xff0c;红帽认证作为一项衡量Linux技能水平的重要标准&#xff0c;受到了广泛的关注和认可。 拥有一张权威认证证书无疑是提升自身竞争力、实现职业发展的重要途径。 RHCE认证作为Linux领域的顶级认证之一&#xff0c;其价值和意义不言而喻。 那么&#xff0c;…

工作中遇到了一个线程中断异常

工作中遇到了一个线程中断异常&#xff0c;备忘记录一下。 主线程使用CompletableFuture开辟子线程进行了并行查询&#xff0c;但其中某个子线程执行时发生异常&#xff0c;没有捕获。 结果就在主线程等待所有子线程都执行完毕时报ExecutionException 从而对主线程打上了中断标…

PowerBi 柱形图,数据标签无法显示在端外

如图 即使设置了“数据标签”显示“端外“&#xff0c;仍然不作用。 原因其实是因为Y轴的数据范围设置不当&#xff0c;如图&#xff0c;当前Y轴范围是0到自动 只需要修改为最大和最小值都是自动即可&#xff0c;选中0 按backspace键删除&#xff0c;然后&#xff0c;鼠标在任意…

机器学习-------数据标准化

什么是归一化&#xff0c;它与标准化的区别是什么&#xff1f; 一 作用 在做训练时&#xff0c;需要先将特征值与标签标准化&#xff0c;可以防止梯度防炸和过拟合&#xff1b; 将标签标准化后&#xff0c;网络预测出的数据是符合标准正态分布的—StandarScaler()&#xff0c…

排班系统|基于Springboot+vue的医护人员排班系统(源码+数据库+文档)

排班系统|医护人员排班系统 目录 基于Springbootvue的医护人员排班系统 一、前言 二、系统设计 三、系统功能设计 医护类型管理 排班类型管理 科室信息管理 医护信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

CSS3 var() 函数:解锁动态样式与高效维护的密钥

在CSS3中&#xff0c;var()函数是一个强大的特性&#xff0c;它允许我们在样式表中定义可重用的值&#xff0c;并在多个地方引用它们。这种机制不仅提高了代码的可维护性和灵活性&#xff0c;还使得动态更新样式成为可能。本文将深入解析CSS3中的var()函数&#xff0c;包括其用…

C语言代码练习(第十八天)

今日练习&#xff1a; 48、猴子吃桃问题。猴子第1天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不过瘾&#xff0c;又多吃了一个。第2天早上又将剩下的桃子吃掉一半&#xff0c;又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时&…

【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)

文章目录 PyQt5超详细教程前言第7部分&#xff1a;生成图表与数据可视化7.1 matplotlib 与 PyQt5 的结合7.2 在 PyQt5 中嵌入 matplotlib 图表示例 1&#xff1a;嵌入简单的 matplotlib 图表代码详解&#xff1a; 7.3 动态生成图表示例 2&#xff1a;动态更新图表代码详解&…

Typora激活脚本

参考文章1 图文教程 | 2024Typora最新版免费激活使用教程&#xff08;新旧版可用&#xff09;_typora激活-CSDN博客 参考文章2 解决Typora闪退、文件打不开等问题——Typora免费使用教程&#xff08;也有免费版的&#xff09;_为什么点击typora没反应-CSDN博客 下面是脚本: …

物联网云平台开发岗位面试经验分享

大家好&#xff0c;这次为大家分享的是关于物联网云平台开发岗位面试&#xff0c;这是一篇关于更加面向项目和技术的面经详解 面试岗位&#xff1a;物联网云平台开发工程师 &#x1f4bc;岗位职责&#xff1a; 负责物联网云平台框架搭建、架构规划与设计&#xff0c;以及架构…