草庐IT

canvas_comment

全部标签

javascript - 查找在 HTML 5 Canvas 上绘制的不规则形状的最大高度宽度

我最近一直在进行一些图像处理,并且正在寻找一种javascript解决方案来确定完全位于不规则形状内的最长线段。综上所述,线段应该是接触形状且不重叠或移动到形状之外的最长线段。这是我遵循的步骤第一步:第2步:第3步:如步骤3所示蓝线表示最大长度。它可以很好地确定规则形状的长度,但在不规则形状的情况下它不起作用(在3点的情况下也是如此)。为了首先计算长度,我取了点(它们是Canvas向下事件上的鼠标坐标。下面是Canvas的代码片段:functiongetXY(e){varel=document.getElementById('canvas');varrect=el.getBoundin

javascript - 如何将多个 Canvas 保存到一个图像中

我想使用asp.net将多个Canvas保存到一个图像中。我尝试使用两张Canvas,但没有保存。Canvas:J查询://Sendthecanvasimagetotheserver.$(function(){$("#btnSave").click(function(){can1=document.getElementById("broadcanvas");ctx1=can1.getContext("2d");varcoll=document.getElementById("layer2");ctx1.drawImage(coll,0,0);varimage=can1.toDataUR

Javascript Canvas : Collision against enemies not entirely working when rotating player

注意:*完整的JSFiddle可以在我的文章底部找到*。问题:我试图消灭所有触及Canvas中心蓝线的敌人。然而,事实并非如此,我的实现只是“成功了一半”。当一侧起作用时,另一侧不起作用。我该如何解决这个问题?我尝试了什么:设置基本绘图函数后,我计算了碰撞对象的x和y之间的差异。使用毕达哥拉斯距离来计算两点之间的距离。最后检查距离是否小于或等于两个对象的组合半径。我使用反正切计算了物体运动的旋转。我想到的替代解决方案:使用循环沿着蓝线创建各种不可见的圆圈或点作为碰撞接收器。问题是:它占用了更多的资源,而且一点也不优雅。您最感兴趣的Javascript函数是:function(playe

微信小程序使用echarts图表(ec-canvas)

本文微信小程序开发所使用技术:taro+vue+lesstaro:v3.3.14vue:v2.6.14若使用ec-canvas加载图表时报错如下图:解决方法①:将echarts.js源码中的t.addEventListener(e,n,i)修改为:t.addEventListener?.(e,n,i)解决方法②:将echarts.js源码中的function(t)修改为:function(t,window,document)ec-canvas文件下载地址:https://github.com/ecomfe/echarts-for-weixin①将ec-canvas文件夹复制到项目目录中 ②创建

javascript - 在 javascript 中处理 Canvas 的 OnClick 事件并获取其坐标

我有一个Canvas可以这样画我需要在点击它时处理该事件并获取它在Canvas上被点击的坐标 最佳答案 您需要获取页面的x和y坐标,然后减去canvas偏移量以获得它们相对于canvas的偏移量。functionq(event){event=event||window.event;varcanvas=document.getElementById('canvas'),x=event.pageX-canvas.offsetLeft,y=event.pageY-canvas.offsetTop;alert(x+''+y);}jsFidd

javascript - 将 Canvas 数据上传到 s3

既然亚马逊启用了CORS,我想知道这是否可行。能否将htmlcanvas数据(在客户端浏览器上)转换为something并直接上传到s3?我确定我可以向亚马逊发出PUT请求,但这需要File。我可以获得base64编码的图像数据甚至Blob但有没有办法将其作为图像保存到S3从客户端浏览器?有没有办法将canvas转换为File以便我可以发出PUT请求或亚马逊理解的方式Blob并将其保存为图像? 最佳答案 这是一个工作示例,您可以从Canvas中获取数据URL并将其上传到S3:vardataUrl=canvas.toDataURL("

javascript - 如何停止使用 canvas imageData 进行 alpha 预乘?

有没有办法停止Canvas数据的alphachannel预乘,或者有解决方法?我想生成一个图像(在本例中是一些随机的rgba值)并将Canvas保存为图像。在第二步中,我想使用imageData将原始图像与生成的图像进行比较,但是由于生成图像中我的rgba像素的alphachannel的预乘,这将不起作用。TheexamplefunctiondrawImage(ctx){varimg=ctx.createImageData(canvas.width,canvas.height);for(vari=img.data.length;i-=4;){img.data[i]=Math.floor

javascript - React 16.3 中从 Prop 更新 Canvas 的正确生命周期方法是什么?

我有一个Canvas组件,大致如下所示:classCanvasextendsReact.Component{saveRef=node=>{this._canvas=node;}shouldComponentUpdate(){/*Iwillneverre-renderthiscomponent*/returnfalse;}componentWillReceiveProps(nextProps){/*HereIdomanipulationswiththis._ctx,whennewpropscome*/}render(){return();}componentDidMount(){this

javascript - 使用 JavaScript 调整图像大小以在 Canvas 中使用 createPattern

我见过一些关于如何调整图像大小的技巧在IMG标签中使用,但我想在里面有一个图像变量一个Javascript,调整它的大小,然后使用里面的图像context.createPattern(图像,“重复”)。我还没有找到任何提示关于如何做到这一点。您可以在http://karllarsson.batcave.net/moon.html找到功能演示用图片说明我想做什么。Loktar的解决方案看起来不错。我还没来得及修复正确的方面,但现在我知道该怎么做了。再一次谢谢你。这是一个工作演示http://karllarsson.batcave.net/moon2.html这是我没有按照我的意愿工作的两

javascript - 如何获取组中对象的 Canvas 相对位置?

通常一个对象相对于Canvas的位置可以从它的.left和.top属性得到,但是如果对象在一个选择/组。有没有办法获得它们相对于Canvas的位置? 最佳答案 当对象在组内时,其相对于Canvas的坐标将取决于组的原点(以及对象的原点)。假设我们有这段代码,其中添加了一个矩形和一个圆圈。varcanvas=newfabric.Canvas(document.getElementById('c'));varrect=newfabric.Rect({width:100,height:100,left:50,top:50,fill:'rg