排序
canvas核心速通
前言 用canvas做过需求的朋友多少应该写过ctx.beginPath方法,一旦某个位置少了这个方法的调用,canvas绘制就可能出现预期之外的效果。依稀记得一年前初学canvas的时候有一个对canvas的描述——...
Dygraph 模拟柱状图的绘制
在 Dygraph 中,如果我们想展示竖线的时候,我们应该怎么做呢? 一开始,想着直接手动 canvas 绘图?但是跟 Dygraph 上的默认行为,比如 hover 要做适配,很是麻烦。那么 Dygraph 中就没有实现...
常用的2d数学工具类
前言 学习目标 创建二维向量对象,并掌握向量的基本算法 创建三阶矩阵对象,并掌握矩阵的基本算法 知识点 向量 矩阵 前情回顾 之前我们创建了vue+vite+ts+vitest 项目,并创建了我们所需要的类...
【Canvas】好玩的点连线经典特效
前言 最近略有时间(MoYu),自己复刻了一下经典的点连线特效,写的时候发现有些初高中的函数知识,什么一次函数、圆形函数啥的,一下子搞得自己懵逼,问gpt也是答非所问,牛头不对马嘴,最后还是...
EaselJS 源码分析系列–第四篇
鼠标交互事件 前几篇关注的是如何渲染,那么鼠标交互如何实现呢? Canvas context 本身没有像浏览器 DOM 一样的交互事件 EaselJS 如何在 canvas 内实现自己的鼠标事件系统? 原理大致如下: Sta...
EaselJS 源码分析系列–第三篇
前一篇分析了三个基础显示类 这一篇分析另外四个稍显高级的显示类 -- Sprite、Movieclip、DOMElement、BitmapText SpriteSheet SpriteSheet 比较简单 它继承自 EventDispatcher 所以 SpriteShee...
你竟然不知道点选还能这样做??
如何实现点选 我们如何控制鼠标在点击后将目标图元做高亮或其他处理呢? 嗯....,在web端如果是svg或者是dom,我们可以简单绑定click事件修改样式, 那本文差不多也结束了。 ? 额,别急着划开,...
揭秘 html2Canvas:打印高清 PDF 的原理解析
1. 前言 最近我需要将网页的DOM输出为PDF文件,我使用的技术是html2Canvas和jsPDF。具体流程是,首先使用html2Canvas将DOM转化为图片,然后将图片添加到jsPDF中进行输出。 const pdf = new jsPD...
p5.js 到底怎么设置背景图?
本文简介 点赞 + 关注 + 收藏 = 学会了 在 《p5.js 光速入门》 里我们学过加载图片元素,学过过背景色的用法,但当时没提到背景图要怎么使用。 本文就把背景图这部分内容补充完整,并且会提到在...
canvas 基础用法详解
简介 canvas 是H5新增的一个用于图形绘制的标签。 <canvas id='my-canvas' width='600' height='600'> 该浏览器版本不支持canvas标签 </canvas> </canvas>不可缺省 API及用法...
序言 | Canvas进阶之旅
因参与了公司的讲师课活动,所以开始了课程的编写和准备,同时也准备同步分享到掘金上,希望能给想学习canvas的jym提供一些帮助,当然更主要分享的目的是为了得到大佬的指点,在我不懂的问题上...
Canvas动态粒子文字效果
前言 前两天在写了Canvas实现数字雨和放大镜效果和Canvas实现苹果充电盒动效后,还想试一下更炫酷的效果,经过挑选感觉动态粒子文字效果不错,马上开始研究。 正文 还是先看看效果,其中有几个...
可拖拽滚动条 – 产品瞎提需求怎么办
需求 产品:我们需要一个类似于浏览器的滚动条,用户可以拖拽快速定位,你来实现一个。 我:原生又不支持,做不到 产品:我不要你觉得,我要我觉得,快做 我:(╯‵□′)╯︵┻━┻ 演示效果 写...
Canvas实现数字雨和放大镜效果
前言 之前在学习的时候没有了解过Canvas的使用,趁着有空来学习一下Canvas,顺便实现两个简单的效果,数字雨和放大镜效果。后面有完整代码。 正文 还是先来看看效果 数字雨 放大镜 数字雨 我认...
canvas2d绘制文字
目标 也就是需求,是在画布上可以输入文字,可以选中文字再次编辑,图形的基本变换已经实现了,现在只要可以新增文本。二次编辑即可。 方案选择, 编辑文字使用dom文本框,失焦后,文字绘制到画...
canvas中的二维相机
前言 学习目标 创建相机对象 平移视口 缩放视口 知识点 二维视图投影矩阵 前情回顾 之前我们canvas的矩阵变换原理,接下来我们就可以创建图形对象了,我们先写个相机练练手。 1-相机的功能分析 ...
ImgControler图案控制器
前言 学习目标 创建ImgControler对象 使用ImgControler对象变换图案 知识点 图案选择 图案控制框 鼠标状态与样式 图案变换 前情回顾 之前我们用OrbitControler 对象实现了相机的变换,接下来我...
上车WebGL——走进奇妙的3D世界,绘制第一个立方体
哈喽大家好啊,我是广州小井。在学习和铺垫了很多枯燥无味的基础知识后,我们终于要开始接触到 WebGL 神奇的另外一面——三维图形了!于是乎,当我们学成以后,那种炫酷网页上面的 3D 效果对于...
如果不能设置canvasElm.style.width,那么如何实现canvas绘制的移动端适配
因为canvas是基于像素的绘图,我们在pc端封装的canvas绘制方法如果想直接迁移至移动端并实现移动端适配,可以使用如下思路: 使用transform的scale对画布进行缩放,缩放比例的计算并不难,思路...
Three.js 监听纹理加载
本文简介 本文介绍 Three.js 的基础方法:监听材质加载。 在 《Three.js 基础纹理贴图》 里介绍了如何给图形贴图,贴图前需要先把纹理加载好。我们基于这篇文章继续讲解如何监听材质加载成功或...