首页 > 其他分享 >canvas绘制多边形

canvas绘制多边形

时间:2023-04-18 12:03:59浏览次数:33  
标签:canvas 多边形 ctx false array 绘制

1、获取ctx,id为canvasId的canvas标签

document.getElementById("canvasId")。getXO你text("2d");

2、确定尺寸

3、添加点击画布的监听

ctx.addEventListener("click",(e)=>that.addLis(e), false);//单击添加多边形顶点
addEventListener("dblclick",(e)=>that.stopDraw(e), false);//双击暂定绘制

4、通过单击画布获取到[ {x:'',y:''},{},{} ]的数组

ctx.strokeStyle = "#f00";
ctx.lineWidth = 1;
ctx.fillStyle = "#0000ff66";
ctx.clearRect(0,0,that.canvas.width,that.canvas.height);
ctx.beginPath();
if (that.array[0]) {
that.canvas_ctx.moveTo(that.array[0].x,that.array[0].y);
}
for (let i = 1; i < that.array.length; i++) {
that.canvas_ctx.lineTo(that.array[i].x,that.array[i].y);
}
that.canvas_ctx.closePath();
that.canvas_ctx.stroke();
ctx.fill();

标签:canvas,多边形,ctx,false,array,绘制
From: https://www.cnblogs.com/kaoo-kiee/p/17329082.html

相关文章

  • python的matplotlib绘制动态图形(用animation中的FuncAnimation)
    %matplotlibauto#数据透视表:#统计各月每天的刷卡金额之和#month_day_df=pd.pivot_table(data_df,values="刷卡金额",index="日",columns="月份",aggfunc=np.sum)#用折线图表示1月份每天的刷卡金额之和importmatplotlib.pyplotaspltfrommatplotlib.animationimpor......
  • canvas和svg区别
    Canvas描述:通过Javascript来绘制2D图形。是逐像素进行渲染的。其位置发生改变,会重新进行绘制。SVG描述:一种使用XML描述的2D图形的语言SVG基于XML意味着,SVGDOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器。在SVG中,每个被绘制的图形均被视为对象。如果SVG......
  • html2canvas插件使用小结
    简介html2canvas能够实现在用户浏览器端直接对整个或部分页面进行截屏。这个html2canvas脚本将当页面渲染成一个canvas图片,通过读取DOM并将不同的样式应用到这些元素上实现。它不需要来自服务器任何渲染,整张图片都是在客户端浏览器创建。当浏览器不支持Canvas时,将采用Flashcanv......
  • Mapboxgl Chrome75版本下发现问题:中文标签无法加载,由Canvas的measureText()方法导致
    很刁钻的问题,排查了好久。我自己开发测试用的浏览器(版本为112)运行正常,在老版本(75)谷歌浏览器报错如下:mapbox-gl.js:32UncaughtTypeError:Failedtoexecute'getImageData'on'CanvasRenderingContext2D':Valueisnotoftype'long'.atMp.TinySDF.draw(mapbox-gl.j......
  • Python 使用Matplotlib绘制可拖动的折线
    Python使用Matplotlib绘制可拖动的折线效果图: 可以拖曲线上的点调整,也可以拖旁边的sliderbar调整.  代码如下:importmatplotlib.animationasanimationfrommatplotlib.widgetsimportSlider,Buttonimportpandasaspdimportmatplotlibasmplfrommatpl......
  • Chapter3 绘制决策树
    绘制决策树1.概述我们在上个博客已经学会使用代码来构造决策树了。但是,为了让构造出来的决策树具有可读性,我们还需要绘制决策树。2.设定样式#该代码的作用是设定节点和箭头的样式#该代码位于treePlotter.py文件中importmatplotlib.pyplotasplt'''在mat......
  • 小组进展-界面绘制完成
    今天,将界面基本绘制完成。余下将具体activity进行填入完善即可。界面展示: 主要通过fragment和activity进行切换,且可利用独立的activity直接填充,可完善功能。余下目标:对于功能页完善,下方为LISTVIEW展示数据,这周日前将出来核心拍照功能除外全部实现 ......
  • 小组界面基本绘制完成
     界面展示: 主要通过fragment和activity进行切换,且可利用独立的activity直接填充,可完善功能。 ......
  • vue pc使用htmlCanvas Jspdf 实现点击将页面生成图片并转成pdf下载
    <template><divid="main"ref="workbench"v-loading="loading"class="echartsPdf">需要的内容</div></template><script>importhtml2canvasfrom'html2canvas'importJspdf......
  • iOS开发-聊天气泡的绘制和聊天消息列表
    iOS开发中什么最重要?流媒体?即时通讯?还是其他什么技术?其实都不是,最重要的东西诚然只是iOS的基础,比如画一个按钮,封装一个控件,扩展一个类等等。这些东西看似简单,实则很难,所有的技术都基于这些最基础的东西,今天要说的是聊天气泡的绘制,和做一个简单的聊天列表:这里绘制了三种聊天气泡:1.......