首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Fabric.js 清空画布,甚至连画布元素也给你干掉😏

    本文主要聊聊: 在 fabric.js 中如何清空画布; 和原生 canvas 对比,fabric.js 到底有多方便; 销毁 fabrci.js 创建的画布; 把 canvas 元素也销毁掉; 原生...但没关系,本文不是讲原生 canvas 的,如果想入门 canvas 可以移步到 《Canvas 从入门到劝朋友放弃(图解版)》 fabric.js清空画布:clear fabric.js 提供了 clear...使用 clear 方法只会清空画布上的内容,并不会销毁画布。 可以看到清空画布后,fabric.js 的默认操作还是在的(可以框选),这证明画布只是被清空了,并没有被销毁。...销毁 fabric 实例:dispose 除了使用 clear 方法清空画布外,fabric.js 还提供了另一个更强的方法:dispose dispose 方法可以把 fabric.js 创建出来的实例销毁掉...} 删除完,页面上也不会出现刚才的 canvas 元素了 代码仓库 ⭐Fabric.js 清空画布 ⭐Fabric.js 销毁画布实例 ⭐Fabric.js 彻底清除画布

    4.3K20

    Fabric.js 拖放元素进画布

    本文简介 学习 Fabric.js,我的建议是看文档不如看 demo。 本文实现的功能:将元素拖进到画布中并生成对应的图形或图片。...能在画布中生成对应的元素。 画布有可能缩放。 画布有可能移动画布的位置可能在页面的某处。 在3和4情况下还能在准确的位置生成元素。 基于以上几点,我得出以下解法。...解2:Fabric.js 创建元素可看 《Fabric.js 从入门到膨胀》的基础图形篇,要创建图片可以看 图片篇。 解3:缩放画布我在 《Fabric.js 缩放画布》 里讲解过。...解4:移动画布我在 《Fabric.js 拖拽平移画布》 里讲解过。 解5:画布的左上角不一定在body的左上角,也就是鼠标当前位置可能和画布对应的坐标不一样,需要通过加减法计算一下。...canvas.add(rect) // 接下来3个事件监听的主要功能是移动画布,在按住 alt 后鼠标可以拖拽画布 // 按下鼠标事件 canvas.on('mouse

    3.2K30

    Fabric.js 使用图片遮盖画布(前景图)

    本文简介 点赞 + 关注 + 收藏 = 学会了 在 《Fabric.js 使用纯色遮挡画布(前景色)》 中讲到使用纯色的方式遮盖画布。...如果你的常见需要使用图片来遮盖的话,fabric.js 也提供了相应的属性来配置。 相比起使用纯色遮盖画布,使用图片会更复杂。 因为图片本身是有尺寸大小的,所以可能会遇到缩放画布、平移画布等操作。...而纯色的话就不需要管色块的尺寸,移动到哪,怎么缩放都是全屏(整个画布)纯色。...覆盖图像不受视口变换的影响 由于图片是有尺寸的,如果你的场景中,画布可以缩放或者被拖拽,就会出现下图的效果。 覆盖的图片被缩小或者移动后,就露出了背景色(红色)。...canvas.isDragging = false }) 感觉这和 《Fabric.js 锁定背景图,不受缩放和拖拽的影响》 里讲到的有点像,对吧~ 所以当看到 fabric.js

    1.8K20

    Node.js 进程平滑离场剖析

    使用 Node.js 搭建 HTTP Server 已是司空见惯的事。在生产环境中,Node 进程平滑重启直接关系到服务的可靠性,它的重要性不容我们忽视。...既然是平滑重启,就涉及到新旧进程的接替过渡: 首先,保证新进程平滑入场 其次,保证旧进程平滑离场 本文主要谈论下,在新旧进程接替过渡期间,如何保证旧进程平滑离场。那怎样的离场才算平滑的呢?...执行 node server.js 启动应用。...如何让进程平滑离场 我们在上面示例基础上,也就是在文件 server.js 中,补充如下代码: process.on('SIGINT', () => { server.close(err => {...结束语 进程平滑离场只是 Node 进程平滑重启的一部分。生产环境中,新旧进程的接替涉及进程负载均衡、进程生命周期管理等方方面面的考虑。

    2.8K100

    Fabric.js 3个api设置画布宽高

    本文简介 使用 Fabric.js 创建画布时,可以在参数里配置画布的宽高。 除了初始化时设置之外,Fabric.js 还提供了其他 api 供后期修改画布宽高。...本文列举了 Fabric.js 的3个 api 设置画布宽高。 这3个 api 虽然简单,但在实际开发中可能很重要。比如监听浏览器窗口缩放,动态调整画布的宽高。...如果想入门 Fabric.js 可以看 《Fabric.js从入门到膨胀》 环境说明 Chrome浏览器版本:96.0.4664.45 Fabric.js版本:4.6.0 我是在原生环境下开发的,同时也提供了一份...实际操作 本例使用了3个 api : canvas.setWidth:设置画布宽度 canvas.setHeight:设置画布高度 Canvas.setDimensions:设置画布大小 .../460/fabric.min.js"> let canvas = null // 设置画布宽度 function setWidth(width) {

    2.1K40

    平滑时间序列数据,别再用移动平均线了

    本文将解释为什么Savitzky-Golay滤波器能够比移动平均线更好地平滑时间序列数据,并附带Python代码示例。...对于移动平均线来说,窗口大小定义了计算某个平滑点时,需要平均多少个相邻数据点。...(窗口大小为 10)的原始和平滑时间序列 移动平均线的缺陷 移动平均线虽然简单,但它存在一些明显的缺陷。...这些细节在使用移动平均线时可能会被过度平滑掉。 如下图所示,随着窗口大小的增加,Savitzky-Golay滤波器能通过预测峰值的方式,更好地捕捉数据的变化趋势,而移动平均线则往往无法做到这一点。...(窗口大小为 25)的原始和平滑时间序列 在这里,Savitzky-Golay 滤波器非常出色地捕捉了时间序列的季节性,没有延迟,并消除了尖峰,而移动平均线将所有注意力集中在长期平均值上,丢失了信号中包含的许多信息

    27310

    Fabric.js 将本地图像上传到画布背景

    ---- 本文介绍 我使用 Fabric.js 的版本是 4.6.0。 这次要实现的效果是:在本地上传一张图片,然后渲染到 canvas 里(当做背景图)。...需求: 通过点击上传按钮上传图片 拿到图片,放到画布上渲染 需要注意的是,本文主要实现 上传图片并渲染到画布 的逻辑,所以没有做上传文件类型的限制,也没做文件大小限制。...-- 引入fabric.js --> ...fabric.Image.fromURL( imgPath, // 真实图片地址 img => { // 将图片设置再画布上,然后重新渲染画布,图片就出来了。...在正式项目中,你可能还要考虑到背景图的大小和画布大小不匹配问题。 你可以参考 《Fabric.js 从入门到膨胀》 中 “拉伸背景图” 这小节。

    2.8K30

    ❤️创意网页:创意动态画布~缤纷移动涂鸦~图片彩色打码

    介绍 在本篇技术博客中,我们将介绍一个有趣的创意动态画布,它会在页面上绘制出缤纷的移动涂鸦。我们使用 HTML5 的 Canvas 元素和 JavaScript 来实现这个动态效果。...我们将设置 CSS 样式,使 Canvas 铺满整个页面,并添加背景图片作为画布的底色。...为了绘制移动涂鸦,我们使用一个包含颜色信息的对象,以记录每个位置的颜色。 实现一个函数来随机生成颜色,我们将使用这个颜色来绘制方框。...创建一个更新画布的函数。在该函数中,我们首先绘制之前记录的位置的颜色信息,然后随机生成一个颜色并绘制当前位置的方框,并将位置和颜色信息记录到颜色对象中。接下来,我们随机生成方框的速度并移动方框。...绘制方框并记录位置颜色信息 drawBox(boxX, boxY, color); colors[`${boxX}_${boxY}`] = color; // 移动方框

    11010

    p5.js画布操作实战:创建,绑定指定元素,动态调整大小,隐藏滚动条,删除画布

    theme: smarblue 文章简介 之前在 《p5.js 光速入门》 里粗略讲过一下如何使用 p5.js 创建画布。 这次要介绍几个 p5.js 提供的画布相关的方法。 创建画布时的相关配置。...让画布绑定指定元素。 重置画布大小。 删除画布。 学习本文前你需要具备一点 p5.js 的知识,想了解的请查看 《p5.js 光速入门》。...创建画布 在 p5.js 里创建画布的方法叫 createCanvas,但其实如果你不使用该方法一样可以创建画布。...如果你使用了p5.js 的 setup() 或者 draw() 之类的生命周期函数,它们也会默认在页面上创建一个画布。...让画布绑定指定元素 使用前面提到的方法创建画布,p5.js 默认会帮我们把画布添加到 标签的最后面。如下图所示。

    51241

    简简单单实现画笔工具,轻松绘制丝滑曲线

    我们监听鼠标移动事件,如果是 “拖拽状态”,我们通过鼠标事件拿到最新的鼠标位置,保存起来。 鼠标移动事件会在鼠标移动时按较小的间隔不断触发,于是我们能拿到一个个的点。...我们将这些点按顺序连起来,然后渲染到画布上,这样就在画布上绘制出了线条。 最后鼠标释放,这条线段就正式被绘制出来了,我们退出 “拖拽状态”,并把新增一个路径对象的数据添加到历史记录。...浏览器会在鼠标移动时按照特定的频率触发鼠标事件。 移动得慢,会拿到密集的点,移动得快,就会拿到稀疏的点。...算法 这里我就想到了 paper.js 的 path.simplify(tolerance)。该方法的作用就是曲线拟合,将一个复杂的 path 简化为数据量更少形状更平滑的 path。...更进阶的,可以像 paper.js 一样尝试去改进算法,甚至融合创造新的算法。 其它 这里的画笔工具,思路是在绘制折线后做一个曲线拟合,将线条做平滑处理。

    12910

    vanilla-tilt.js平滑3D倾斜库的使用

    文章概要:vanilla-tilt.js是Javascript中一个平滑的3D倾斜库,可以让网页的一些控件变得动态起来,本篇文章主要讲述了如何下载及在网页代码中配置vanilla库。...目录 vanilla库安装 vanilla库配置 案例演示 vanilla库安装          因为网页内设置文件下载不方便,这里将代码放出来,全部复制后,新建一个js文件并且命名为vanilla-tilt.js...* Original idea: https://github.com/gijsroge/tilt.js * MIT License....vanilla库的网页文件源代码中进行配置 在源代码最后使用标签导入vanilla库 script标签导入库.png // vanilla-tilt.js是一个平滑的3D倾斜JS库,具体参数配置度娘可查到 VanillaTilt.init(document.querySelectorAll

    1.9K30
    领券