前言做过web端编辑的前端同事或多或少都会接触到标尺插件,类似于ps或者PPT等软件中的插件。jqury等比较老的web插件会生成很多dom,所以我写了一个纯TS和canvas绘制的尺子,不依赖任何第三方库。文档使用方法如下,欢迎使用、贡献和提交issue!PS:暂不支持辅助线功能,插件会尽快上线。在一些思路上,我也参考了另一个尺子插件daybrush/rulerlight-rulerDEMO/Github主要特点(Features)使用canvas绘图,支持无限滚动,不会生成多个DOM导致页面重绘支持自定义尺子背景色、文字color,scalecolor和unit支持translate模式,即在第一个canvas绘制标尺后,scroll是通过csstransform用Typescript写的,不依赖任何第三方库。打包后的文件只有26kb(含样式),支持缩放刻度值。目前,提供了2种音阶主题样式。提供多实例控制器来管理多个规模的实例安装(安装)npmilight-ruleruse(Useage)基本上使用importLightRulerfrom"light-ruler";construler=newLightRuler({mode:"infinite",wrapperElement:document.getElementById("box"),scrollElement:document.getElementById("wrap"),rulerId:"my-ruler",width:30000,height:30000,style:{模式:"right",},onScroll:(x,y)=>{console.log(x,y);},});React使用importReact,{useRef,useEffect}from"react";importLightRulerfrom"light-ruler";exportdefaultfunction(){construlerRef=useRef(null);useEffect(()=>{construler=newLightRuler({模式:“infinite",mountRef:rulerRef.current,scrollElement:document.getElementById("wrap"),rulerId:"ruler",宽度:30000,高度:30000,onScroll:(x,y)=>{console.log(x,y);},});},[]);返回(...