自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 fabric 加载png ,报错Uncaught DOMException: Failed to execute ‘getImageData‘ on ‘CanvasRenderingContex

在 Fabric.js 中加载 PNG 图像时,如果遇到 Uncaught DOMException: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data 错误,通常是因为加载的图像来自不同的源(跨域),而浏览器默认会阻止跨域图像操作。同时,在图像加载回调中也设置了 `crossOrigin` 属性。这样可以允许所有域名访问图像资源。

2024-07-02 16:55:30 246

原创 fabric.util.enlivenObjects是什么意思

fabric.util.enlivenObjects是处理从JSON数据恢复Fabric对象的关键工具,特别是在实现如撤销/重做功能或从外部源加载画布状态时非常有用。它帮助确保数据可以被转换回可交互的Fabric对象,从而维持应用的功能性和用户体验。

2024-06-11 15:47:59 357

原创 css 文字描边

实现了问题和图形描边的效果。

2024-05-07 15:54:04 278

原创 js判定-矩形内是否包含指定点

场景:使用JavaScript计算,一个由四个点(x1,y1),(x2,y2),(x3,y3),(x4,y4)逆时针顺序组成的矩形可以旋转。给定一个点(x,y),判断该点是否在矩形内。要确定一个点(x,y)是否在由四个点组成的矩形内,可以使用称为“叉积法”。该方法包括计算矩形的点和点(x,y)形成的向量的叉积。如果所有的叉积都有相同的符号,则该点在矩形内。该函数将点(x,y)的坐标和矩形(x1,y1)(x2,y2),(x3,y3),(x4,y4)四个点的坐标作为输入参数。

2024-04-30 13:47:17 242 1

原创 fabricjs 添加直线宽度,实现类似道路效果

【代码】fabricjs 添加直线宽度,实现类似道路效果。

2024-04-17 16:26:54 318

原创 fabricjs控制背景图和画布图片展示

1.检查画布是否存在背景在Fabric.js中,可以通过检查canvas.backgroundImage属性来判断画布是否设置了背景图片。如果canvas.backgroundImage不为null或undefined,则表示画布上设置了背景图片。2.存在,清除画布背景3.不存在,添加画布背景我用的是js方式引入图片4.控制背景图展示的完整代码。

2024-04-16 15:51:17 569

原创 vue项目中,修改fabric默认操作

场景:fabricjs绘制的元素,默认点击鼠标左键即可自由移动元素。需要把操作改为,点击鼠标左键先选中元素,只有选中的元素,按住鼠标左键后才能移动。evented: false // 设置对象为不可触发事件,防止直接移动。selectable: true, // 设置对象为可选中。原理,通过修改参数,实现。

2024-04-15 15:20:32 387

原创 给文字设置渐变色

给文字,设置渐变色填充。

2024-02-27 10:04:28 114

转载 【汇总笔记】axios的四种请求方式及参数设置

url (string): 请求的 URL 地址。data (any): 请求的数据。params (object): 请求的查询参数对象。headers (object): 请求头对象。timeout (number): 请求超时时间。withCredentials (boolean): 是否携带跨域请求的凭证。cancelToken (CancelToken): 用于取消请求的 CancelToken 对象。responseType (string): 响应数据的类型。

2024-02-21 15:12:50 5006

原创 vue大文件读取部分内容,避免重复加载大文件,造成流量浪费

使用Axios发出一个HTTP GET请求来获取.pcd文件的前2048字节,该文件通常包含头文件。然后解析报头以提取版本信息。但是,请注意,头的具体大小可能因.pcd文件格式而异,可能需要相应地调整字节范围。避免重复加载整个“.pcd'文件,以最大限度地减少网络流量。实现这一点的一种方法是只获取”.pcd'文件部分内容,该文件通常包含包括版本信息的元数据。项目点云地图是pcd文件,但是文件可能上百兆,我需要获取到文件中的版本信息,跟本地的缓存文件做比较,如果不一致,才会加载整个文件。

2024-02-21 14:33:27 314

原创 vue项目中下载静态资源里的pdf文件

1.把文件放在项目目录src/assets文件下。3.需要在vue.config.js中配置!2.在项目是用a标签下载。

2024-02-19 10:58:39 984

原创 elementui 回到顶部报错

组件的伙伴们,把官网代码复制到页面使用时会遇到问题:element 解决 Error: target is not existed: .page-component__scroll .el-scrollbar__wrap。

2024-02-01 16:50:12 487

原创 indexeddb使用场景

离线Web应用程序:IndexedDB允许Web应用程序在浏览器中存储和检索数据,即便是在没有网络连接的情况下,用户仍然能够访问本地保存的信息。电子商务网站:对于需要本地存储购物车和订单历史记录的电子商务网站,IndexedDB可以高效地存储和管理这些数据,提升用户体验。数据可视化工具:IndexedDB还能用于数据可视化工具,允许用户在离线状态下处理数据,并在下次连接时将数据同步回云数据库。综上所述,IndexedDB广泛应用于不同类型的Web应用程序和服务,为用户提供流畅且灵活的用户体验。

2024-01-31 17:43:14 354

原创 对象数组的反向,根据子数组生成新的数组对象

遇到个挺难用文字描述的数组处理需求,话不多说,直接上案例。我需要以id为关键字,生成新的数组。

2024-01-11 14:22:01 364

原创 vue 项目实现下拉加载

场景:vue 网站手机端适配,需要实现拉到底部加载下一页的效果。

2024-01-09 10:35:57 862

原创 css样式:抄的背景渐变样式

最近入坑 爱奇艺的《一念关山》(谁让咱也没有别家视频会员)。顺手就抄了他们家一个背景渐变样式。分析:运用了渐变,挺适合用在深色背景场景中,如 数据可视化大屏展示等。展示:(就是右侧 切换的选中样式)

2023-12-13 16:16:18 116

原创 记录一个巧思,foreach后面执行内容

遇到一个场景,foreach来遍历数组中内容,执行函数,最后需要对函数执行成功个数进行统计,统一输出。放在循环的函数内部,但是对index进行判定。如果时循环的最后一个,进行操作。关键:index+1 和 数组长度一致,判定是最后一个。每一次for循环函数内部 参数++问题:输出时 没有显示正确的个数。过程:同步异步处理...

2023-12-08 04:00:00 94

原创 vue代码中上传二维码图片,并识别内容

创建一个类型为file的input元素,可以在其中上传包含二维码的图像。

2023-12-07 14:22:51 560

原创 vue 项目中使用 mqtt

2、封装代码 mqtt_connect.js。1、在html 中用cdn方式引入。3.vue页面中使用。

2023-11-27 15:54:50 712

原创 记录一个mqtt错误

就表示不理解,网上也没查到相应的资料,请告诉我我不是第一个遇到的人...在vue-admin-template。中引入mqtt 安装不报错,引入试过。

2023-11-27 15:37:38 127 2

原创 新手引导功能,Intro.js 和driver.js 比较

Intro.js 和 driver.js 都是用于创建前端新手引导的工具,它们都有各自的优点和适用场景。具体选择哪个工具,应该根据项目需求和团队习惯来决定。

2023-11-23 11:15:40 500

原创 上传本地pcd文件,并用threejs渲染

用FileReader来直接获取到文件二进制形式的内容,进行threejs的渲染,但是会报数据格式问题,无法渲染。分析了下pcdloader源码,其中对无效数据进行了处理。pcd文件很大,如果是本地的文件,上传到网络再下载下来,会造成网络流量的极大浪费。那么我直接加载本地的(当前计算机上的pcd文件)用来显示,会大大提高网络效率。2)用pcd加载器PCDLoader,渲染pcd文件。1)用input上传文件,生成新路径。

2023-11-07 14:28:04 352

原创 切换win11 账户后,git报错

主要原因:账户切换后,用户换了 ,权限没有更过来。切换win11 账户后,git报错。

2023-11-03 14:47:47 584

原创 iis 设置pcd文件的 MIME 类型,如何设置

现在,当您的网站收到请求PCD文件时,IIS将返回正确的MIME类型(application/octet-stream),以便浏览器正确处理文件。请注意,PCD文件通常由一些特定的图形处理软件(例如Three.js)使用,因此确保您的客户端代码也正确配置以处理该MIME类型的响应。在IIS管理器左侧面板中,展开"网站",然后选择您要设置MIME类型的网站。在右侧的"网站"窗格中,展开"MIME类型"节点,然后选择"添加"按钮。打开IIS管理器(可以在开始菜单中搜索IIS来找到)。点击"确定"按钮保存更改。

2023-11-03 14:44:09 108

原创 uuid生成

【代码】uuid生成。

2023-11-02 17:29:44 65

原创 lil-gui 可以创建gui控件,guijs文档

【代码】lil-gui 可以创建gui控件,guijs文档。

2023-10-10 16:51:53 325

原创 threejs 创建点 线 面

threejs 创建点 线 面。

2023-10-09 11:37:08 494

原创 【备忘笔记】three gui.js定义面板内容

three gui.js定义面板内容。

2023-10-09 09:45:35 157

原创 【备忘笔记】three界面 canvas画布宽高度动态变化

canvas画布宽高度动态变化,需要更新相机和渲染的参数,否则无法正常渲染。

2023-10-08 10:40:28 360

原创 我的第一个three.js,hello world!

【代码】我的第一个three.js,hello world!

2023-10-07 15:40:21 32

原创 js 鼠标事件各个参数示意

鼠标指针在视口中的坐标(不包括任何滚动偏移)。:被按下的鼠标按钮。1 左键 2滚轮 3右键。:表示按下哪些鼠标按钮的位掩码。:是否按下了相应的键盘按键。:鼠标指针在屏幕中的坐标。

2023-09-26 13:39:25 778

原创 js 已知起始点,和两个控制点,求贝塞尔曲线长度

bezierLength’是一个函数,它有8个参数,分别代表起始点 (x0,y0),第一个控制点 (x1,y1),第二个控制点 (X2,y2) 和结束点 (x3,y3)的坐标。要求贝塞尔曲线的长度,需要使用数值积分。然而,对于一般的贝塞尔曲线,没有封闭形式的长度表达式,因此需要使用数值方法进行近似计算。该函数将Bezier曲线划分为“STEP”段(您可以或多或少地精确地调整STEP的值)。将所有小段的长度加起来,得到贝塞尔曲线的总长度。计算每一段的长度,并将其累加,得出曲线的总长度。

2023-09-22 09:50:38 338

原创 fabic.js Quadratic Curve /可控制的曲线

需要绘制一条可控制的贝塞尔曲线,发现fabic官网中一个demo有点类似。感兴趣的可以移步官网查看。核心:定义 line时,设置path数组值。变换时修改path数组中的值。但是我需要绘制三阶贝塞尔曲线,即要两个控制点。这时候就需要变形一下。修改直接进行重新赋值。

2023-09-20 15:37:00 493

原创 元素居中展示

原理:left 控制元素到外层元素的左侧距离,50%代表中间,translateX(-50%)元素再向左移动自身的50%。有个position: absolute;定位的元素,宽度不一定,高度不一定,但是需要。用left 和transform结合。想到一个很绝的方法。

2023-09-20 10:33:43 62

原创 fabic.js Stickman应用》》元素关联设置/拓扑图

分析:最核心代码为set({ 'x2': p.left, 'y2': p.top }),通过为canvas添加元素移动判定canvas.on('object:moving',根据移动重新设定线段的绘制坐标。在canvas画布上绘制多个圆形,并添加连接线,图形移动,线自动跟随移动。查看fabic文档,Stickman火柴人demo完美适应。变形使用:(仅为逻辑,请自行编写判定逻辑)

2023-09-19 14:58:40 143 2

原创 全局的键盘监听事件

放在vue 的created()或者mounted ()中,可对整个文档进行键盘事件监听。

2023-09-19 11:46:08 671

原创 fabic绘制元素并添加到最底层

在上面的示例中,我们首先创建一个名为 "myCanvas" 的画布,并创建了一个矩形元素。要将 fabic中的元素添加到最底层,您可以使用。方法将矩形元素添加到画布中。方法将矩形元素发送到最底层。

2023-09-14 15:15:14 300

原创 fabic如何将绘图原点移到画布中心

不得吐槽一句,他母亲canvas这点就很有好呢,用 transform 一行代码即可实现--ctx.translate(canvasWidth / 2, canvasHeight / 2)。后端给我的内容是按照x,y返回的,需要将坐标系移到fabic画布的中心位置,找了下网上合适的砖,想一句命令直接设置,结果没有。即为:left=canvas.width/2 +x ,top=canvas.height/2-y。后端给出的(x,y)坐标,我可以根据(canvas.width/2。言归正传,咱绘制一下坐标系。

2023-09-13 11:42:15 671

原创 fabirc 将图像绘制原点定为图形内部

recti1 未设置originX: 'center',originY: 'center',left和top为绘制图形起始点;recti1设置originX: 'center',originY: 'center',left和top为绘制图形中心原点。

2023-09-13 10:40:54 87

原创 fabic 在canvas中绘制group元素,如何获取并修改group中某一元素的填充色

fabic修改group组内元素属性

2023-09-12 15:42:51 440

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除