当前位置: 首页 > news >正文

大前端05-用vue轻量级第三方组件库快速创建个画板,可以支持画板、直线、圆形等输入,可以撤回,改变颜色

第三方组件介绍:

1. vue-whiteboard

vue-whiteboard 是一个基于Vue.js的轻量级画板组件库。

GitHub仓库: https://github.com/craynic/vue-whiteboard

优势:

  • 轻量级
  • 支持基本绘图功能,如画线、圆等
  • 支持橡皮擦功能
  • 支持清空画布

劣势:

  • 功能较少,可能不满足复杂场景需求
  • 文档和示例有限

集成代码示例:

# 安装依赖
npm install vue-whiteboard
<template><div><white-board ref="whiteBoard" :width="500" :height="500" /></div>
</template><script>
import { WhiteBoard } from 'vue-whiteboard';export default {components: {WhiteBoard},mounted() {this.$refs.whiteBoard.setBrush({color: 'red',size: 10});}
};
</script>

1. fabric.js + vue-fabric-wrapper

Fabric.js 是一个功能丰富的 JavaScript 库,用于在HTML5 <canvas> 元素上进行交互式对象模型操作。vue-fabric-wrapper 是一个将 Fabric.js 与 Vue.js 结合使用的组件。

Fabric.js 官网: http://fabricjs.com/ vue-fabric-wrapper GitHub: https://github.com/vue-comps/vue-fabric-wrapper

优势:

  • 功能丰富,包括绘制形状、图片、文本等
  • 支持事件处理、选择、拖放和修改对象
  • 可以撤销和重做操作
  • 可以更改颜色、边框等属性

劣势:

  • 相对于其他轻量级库,体积稍大
  • 需要熟悉 Fabric.js 的API

集成代码示例:

# 安装依赖
npm install fabric vue-fabric-wrapper
<template><div><fabric-canvas ref="canvas" :width="500" :height="500" /></div>
</template><script>
import { fabric } from 'fabric';
import { FabricCanvas } from 'vue-fabric-wrapper';export default {components: {FabricCanvas},mounted() {const canvas = this.$refs.canvas.getFabricObject();const circle = new fabric.Circle({radius: 30,fill: 'red',left: 50,top: 50});canvas.add(circle);}
};
</script>

相关文章:

大前端05-用vue轻量级第三方组件库快速创建个画板,可以支持画板、直线、圆形等输入,可以撤回,改变颜色

第三方组件介绍&#xff1a; 1. vue-whiteboard vue-whiteboard 是一个基于Vue.js的轻量级画板组件库。 GitHub仓库: https://github.com/craynic/vue-whiteboard 优势&#xff1a; 轻量级支持基本绘图功能&#xff0c;如画线、圆等支持橡皮擦功能支持清空画布 劣势&…...

ChatGPT使用案例之生成PPT

ChatGPT使用案例之生成PPT ChatGPT使用案例系列我们一直在寻找ChatGPT在哪些方面可以可以帮我们节省时间提高效率,越来越多的用户发掘出了ChatGPT更多实用性的功能,其中一项便是协助用户快速生成PPT。 作为一个基于大型语言处理模型的文字聊天工具,ChatGPT能够帮助用户围绕…...

ChatGPT基础知识系列之模型介绍

ChatGPT基础知识系列之模型介绍 前面我们已经介绍很多ChatGPT的使用案例了,更多案例可以参考我们下面的文章 ChatGPT使用案例之写代码 ChatGPT使用案例之画思维导图 ChatGPT使用案例之自然语言处理 ChatGPT使用案例之操作Excel ChatGPT使用案例之图像生成 ChatGPT使用案…...

ChatGPT助力软件开发

抛开Stack Overflow不谈&#xff0c;开发人员有了一个新的好朋友&#xff0c;它就是ChatGPT。ChatGPT是由人工智能驱动的语言模型&#xff0c;可以理解代码&#xff0c;还可以用自然语言回答问题。有了它&#xff0c;程序员再也不用在无尽的Stack Overflow页面和评论中搜索答案…...

这些关于高压放大器的常识,你知道多少?(二)

高压放大器是一种用于放大高压信号的电子测量仪器&#xff0c;具有高压输出&#xff0c;低噪声&#xff0c;高精度&#xff0c;高稳定性&#xff0c;高可靠性&#xff0c;低功耗&#xff0c;低成本等的优点。关于高压放大器的相关常识&#xff0c;相信还有不少新手工程师不太了…...

使用神经网络中的卷积核生成语谱图

主题思想&#xff1a; 正交基函数&#xff0c; sin,cos 是通过网络训练得到的参数。 使用一维卷积核直接对于原始音频&#xff0c;进行卷积生成语谱图&#xff1b; 使用一维卷积核生成语谱图特征&#xff0c; 不同于以往的方式&#xff0c;正是因为这些正交基函数是通过卷积…...

文章五:Python 网络爬虫实战:使用 Beautiful Soup 和 Requests 抓取网页数据

一、简介 本篇文章将介绍如何使用 Python 编写一个简单的网络爬虫,从网页中提取有用的数据。我们将通过以下几个部分展开本文的内容: 网络爬虫的基本概念Beautiful Soup 和 Requests 库简介选择一个目标网站使用 Requests 获取网页内容使用 Beautiful Soup 解析网页内容提取…...

【大数据之Hadoop】八、MapReduce之序列化

1 概述 序列化&#xff1a; 把内存中的对象&#xff0c;转换成字节序列&#xff08;或其他数据传输协议&#xff09;&#xff0c;以便于存储到磁盘&#xff08;持久化&#xff09;和网络传输。 反序列化&#xff1a; 将收到字节序列&#xff08;或其他数据传输协议&#xff09…...

Python网络爬虫之Selenium详解

1、什么是selenium? Selenium是一个用于Web应用程序测试的工具。Selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。支持通过各种driver(FirfoxDriver&#xff0c;IternetExplorerDriver&#xff0c;OperaDriver&#xff0c;ChromeDriver)驱动真实浏览器…...

中睿天下受邀出席电促会第五次会员代表大会

3月21日&#xff0c;中国电力发展促进会&#xff08;以下简称“电促会”&#xff09;第五次会员代表大会暨第五届理事会第一次会议在京召开&#xff0c;中睿天下作为网络安全专业委员会会员单位受邀出席。 会议表决通过了第五次会员代表大会工作报告、第四届理事会财务报告、《…...

Chat GPT:软件测试人员的危机?

Chat GPT&#xff0c;作为一个引起科技巨头“红色警报”的人工智能语言模型&#xff0c;短期内便席卷全球&#xff0c;上线仅两个月活跃用户破亿。比尔盖茨更是如此评价“这种AI技术出现的重大历史意义&#xff0c;不亚于互联网和个人电脑的诞生。” 在各个行业备受关注的Chat …...

【Redis】高可用:Redis的主从复制是怎么实现的?

【Redis】高可用&#xff1a;主从复制详解 我们知道要避免单点故障&#xff0c;即保证高可用&#xff0c;便需要冗余&#xff08;副本&#xff09;方式提供集群服务。而Redis 提供了主从库模式&#xff0c;以保证数据副本的一致&#xff0c;主从库之间采用的是读写分离的方式。…...

WLAN速度突然变慢

目录 一、问题 二、在设置中重置网络 1. 按下组合键“WinI”打开设置&#xff0c;在设置窗口中点击“网络和Internet”。 2、点击左侧的“状态”&#xff0c;在右侧选择“网络重置”。 3、然后会进入“网络重置”页面&#xff0c;点击“立即重置”后点击“是”等待完成即可…...

GDAL python教程基础篇(12)GDAL和 Pillow 的互操作

GDAL和 Pillow GDAL和PIL处理和操作的对象都是栅格图像。 但它们又不一样。 GDAL主要重点放在地理或遥感数据的读写和数据建模以及地理定位和转换&#xff0c; 但是PIL的重点是放在图像本身处理上的。 至于在底层数据处理上&#xff0c;两者都可以用 numpy 转化的二进制作为数…...

快速学习java路线建议

还有2 &#xff0c;3个月就要毕业了&#xff0c;啥都不会的你是不是很慌呢&#xff0c;是不是想知道怎么样快速学习java呢。嘿嘿&#xff01;它来了。 首先是java的学习 &#xff0c;推荐 ​​​​​​【尚硅谷】7天搞定Java基础&#xff0c;Java零…...

【MySQL】深入浅出主从复制数据同步原理

【MySQL】深入浅出主从复制数据同步原理 参考资料&#xff1a; 全解MySQL之主从篇&#xff1a;死磕主从复制中数据同步原理与优化 MySQL 日志&#xff1a;undo log、redo log、binlog 有什么用&#xff1f; 文章目录【MySQL】深入浅出主从复制数据同步原理一、主从复制架构概述…...

Redis持久化和高可用

Redis持久化和高可用一、Redis持久化1、Redis持久化的功能2、Redis提供两种方式进行持久化二、RDB持久化1、触发条件2、bgsave执行流程3、启动时加载三、Redis高可用1、什么是高可用2、Redis高可用技术四、AOF持久化&#xff08;支持秒级写入&#xff09;1、开启AOF2、执行流程…...

【数据结构】第六站:栈和队列

目录 一、栈 1.栈的概念和结构 2.栈的实现方案 3.栈的具体实现 4.栈的完整代码 5.有效的括号 二、队列 1.队列的概念及结构 2.队列的实现方案 3.队列的实现 4.队列实现的完整代码 一、栈 1.栈的概念和结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定…...

python matplotlib 绘制训练曲线 综合示例——平滑处理、图题设置、图例设置、字体大小、线条样式、颜色设置

文章目录1 导出曲线数据2 python简单的 绘制曲线3 Savitzky-Golay 滤波器--平滑曲线4 对y轴数值缩放处理5 设置图题、图例、字体、网格、保存曲线图6 补充6.1 python 曲线平滑处理——方法总结-详解6.2 Tensorboard可视化训练曲线导出数据用Python绘制6.3 PyTorch可视化工具-Te…...

vue-element-plus-admin整合后端实战——实现系统登录、缓存用户数据、实现动态路由

目标 整合vue-element-plus-admin前端框架&#xff0c;作为开发平台的前端。 准备工作 前端选用vue-element-plus-admin&#xff0c;地址 https://gitee.com/kailong110120130/vue-element-plus-admin。 首先clone项目&#xff0c;然后整合到开发平台中去。这是一个独立的前…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...

uniapp获取当前位置和经纬度信息

1.1. 获取当前位置和经纬度信息&#xff08;需要配置高的SDK&#xff09; 调用uni-app官方API中的uni.chooseLocation()&#xff0c;即打开地图选择位置。 <button click"getAddress">获取定位</button> const getAddress () > {uni.chooseLocatio…...