草庐IT

Canvas-EventSystem-Panel

全部标签

javascript - 显示无的 div 中的 Canvas 不起作用

我在使用Canvas元素时遇到问题。当它位于隐藏的div中并且div被切换时,它不会显示。更好的解释和例子在这里http://jsfiddle.net/78sJT/10/这是在ff和chrome中发生的(未测试其他人)。谁能告诉我为什么/如何解决这个问题。 最佳答案 问题是dygraphs将div的宽度/高度检测为0/0,并且在重新绘制之前不会了解其他情况(没有在调整单个DOM元素大小时触发的JS事件)。最简单的解决方法是明确地让dygraph知道它应该更新它的大小并在使用g.resize();切换div后重新绘制自己$(docum

javascript - 查找带有边框的 HTML5 Canvas(单击)事件的坐标

在StackOverflow上有很多关于如何获取Canvas元素上的事件相对于Canvas本身的坐标的答案。我正在使用以下解决方案(getEventPosition),它运行良好,除了我在Canvas中添加边框时的情况:/****Thissolutiongivesmeanoffsetequaltothebordersize****whenthecanvashasaborder.Example:********///GetDOMelementpositiononpagethis.getPosition=function(obj){varx=0,y=0;if(obj.offsetParen

javascript - 来自 Canvas 的 "DOM Exception 18"

我正在获取SVG图像,将其绘制到Canvas上,并尝试通过toDataURL将其导出,但Chrome向我抛出DOM异常18安全错误。我知道问题是因为我使用数据URI方案(data:image/svg+xml;base64)将SVG图像绘制到Canvas上,所以我猜浏览器将其视为跨域(即安全问题),但我想不出任何其他方法将我的SVG内容放到Canvas上。我无法托管它,因为SVG内容是动态的,并且在需要通过toDataURL导出之前先进行操作。我通读了此处提出的其他一些类似问题,但找不到解决我的问题的方法。 最佳答案 在Chrome中

javascript - 将 html5 Canvas 图像保存在本地硬盘上

我使用kineticjs库在html5Canvas上创建了形状。现在我想将Canvas保存为本地系统硬盘上的图像。请告诉我如何使用KineticJS库实现它。 最佳答案 选择Canvas后(我猜是使用document.getElementById之类的东西),您应该能够调用以下代码将Canvas转换为dataURL。获得该URL后,在另一个浏览器窗口中打开它并执行标准的右键单击->图像另存为,并将其另存为JPG/PNG等。varcanvas=document.getElementById("mycanvas");varimg=can

javascript - 是否有可能看到 <canvas> 是如何被操纵的?

我很好奇地球的WebGL动画是如何呈现的:http://ats-vs-world.cadillac.com/#!/home与其他HTML元素不同,我还没有想出一种方法来查看canvas元素是如何被操作的。在Chrome等浏览器中,可以“Breakon...子树修改”、“Breakon...属性修改”等。对于Canvas,当它被操纵时,元素是空白的。有什么办法吗?编辑:我非常感谢@Joe的回答。但是还有什么办法吗,一般的(不是针对这个网站的),所以看看是如何被操纵的? 最佳答案 我绝对推荐WebGLInspector.除此之外,您是否

javascript - HTML5 Canvas 绘图像素与提供的颜色不同

将某种颜色设置为Canvas的fillStyle,并用fillRect绘制一个矩形后,矩形的颜色有时会与提供的颜色有点不同(getImageData返回不同的值-通常其中之一低1)。它似乎只在使用rgba颜色(而不是rgb)时发生,但实际上我确实需要使用alphachannel。我已经在jsfiddle上为任何想研究这个问题的人制作了一个简单的测试套件:http://jsfiddle.net/LaPdP/1/关于为什么会发生这种情况以及是否有解决方法的任何想法?如果它至少总是发生在相同的值上,那么我会通过将它增加1来绕过它,但对我来说这似乎很随机。 最佳答案

javascript - 是否可以将多个 SVG 绘制到 Canvas 上?

背景我在文档中有一堆svg(每个里面都有rect、path等等),我需要将其绘制成可下载的PNG图像。我知道要做到这一点,有两种方法:将页面的HTML结构绘制到canvas上,然后从那里导出或直接渲染SVG及其内容一个Canvas。假设第一个假设我尝试使用html2canvas呈现HTML结构并且只发现SVG根本无法通过HTML结构呈现(由于安全问题)。第二个假设我试图通过canvg将SVG渲染到Canvas上。只是发现它只允许渲染一个SVG元素,并且只会渲染第一个。结果要证明第一个错误,请输入http://www.w3schools.com/svg/tryit.asp?filenam

javascript - Canvas 内的人体条纹动画

我的jsfiddle:http://jsfiddle.net/yKvuK/正如您所看到的,当人类行走时,图像保持在原位,我可以更改代码,以便当我按下左键时,图像改变它的位置,看起来它正在向左行走,而不是原地行走吗?functionupdate(){canvas.clearRect(0,0,CanvasWidth,CanvasHeight);if(keydown.left){CurentPos++;if(CurentPos==ImgNumb){CurentPos=0;}}}//endupdate 最佳答案 试试这个fiddle:htt

javascript - 使用 toDataURL() 从 Canvas 导出时如何压缩 .png 图像?

需要使用HTML5Canvas生成大约20k大小的.png图像。不幸的是,当使用toDataURL()方法创建.png时,您不能像使用jpeg那样指定质量。有什么解决方法吗?toDataURL似乎是从Canvas生成图像的唯一方法,而canvas似乎是无需服务器交互的图像处理的最佳工具。感谢任何建议。 最佳答案 有一种方法可以使用无损zlibdeflate过程对PNG图像进行压缩http://www.w3.org/TR/PNG-Compression.html.有一个库(https://github.com/ShyykoSerhiy

javascript - Fabric JS : Set X Y Coordinates in Canvas Image | Set Position in Canvas Image

如何在Canvas图像中设置X、Y坐标?context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);例如:HTMLcanvas中的sx和sydrawImage()方法。fabric.js中有什么类似的东西?如何在Fabricjs中设置图像在Canvas中的位置? 最佳答案 context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);这是在原生JS中imgSpecifiestheimage,canvas,orvi