草庐IT

convert-canvas-image

全部标签

javascript - 使用 Protractor 测试 Canvas 绘图

有没有办法测试绘图是否是使用Protractor在Canvas上绘制的?即我根据用户点击绘制了一个矩形:varshape=newcreatejs.Shape();shape.graphics.beginStroke("black");shape.graphics.drawRect(crd.x,crd.y,crd.width,crd.height);stage.addChild(shape)stage.update()现在我想制定一个规范来测试是否在指定坐标上绘制了一个矩形,并且作为一个加号,测试它的边框是否为黑色。这可以使用Protractor/WebDriverJSAPI吗?

javascript - 如何通过 javascript 将图像/HTML Canvas 切成两半?

我正在使用html2canvas将具有自定义功能的googlemapjavascriptAPI转换为Canvas,然后转换为图像。在所有浏览器上都能正常工作,除了在IE11上它会生成一个图像,图像右侧有额外的空白,等于(浏览器窗口的宽度-map宽度)。所以我的窗口越宽,右边的空间就越大,反之亦然。我怎样才能在实际图像(768像素宽)的边缘切分该图像(或HTMLcanvas)?我在这里找到了这段代码,但不知道如何为这个任务修改它:varimage=newImage();image.onload=cutImageUp;image.src='myimage.png';functioncutI

javascript + html5 Canvas : drawing instead of dragging/scrolling on mobile devices?

我正在使用html5Canvas+一些javascript(onmousedown/move/up)在网页上创建简单的绘图板。在Opera、Firefox、Chrome等中运行良好(在台式电脑上试用)。但是,如果我使用iPhone访问此页面,当我尝试在Canvas上绘图时,它会拖动或滚动页面。这适用于其他页面内容,通过上下滑动页面,您可以像往常一样在移动浏览器中浏览页面。但是有没有一种方法可以在Canvas上禁用此行为,以便移动访问者也可以在上面实际绘制一些东西?为了您的引用,这里有一个简单的例子:functioninit(){varcanvas=document.getElement

javascript - 动态 "unload"从 Canvas 处理 JS 草图

我正在使用一些javascript来允许用户在单击时动态加载草图到Canvas元素,使用:Processing.loadSketchFromSources('canvas_id',['sketch.pde']);如果我第二次(或第三次...)调用Processing.loadSketchFromSources(...),它会将第二个(或第三次...).pde文件加载到Canvas上,这正是我所期望的。我希望用户能够单击另一个链接以加载不同的草图,从而有效地卸载之前的草图。有没有我可以调用的方法(或我可以使用的技术)来检查Processing是否有另一个草图在运行,如果有,告诉它先卸载它

javascript - 将 Canvas 上的视频转换为 3d 网格的合适起点是什么

目前是否有用于将Canvas中的视频流转换为3D网格的JavaScript库?示例情况是将相机对准杯子并捕捉原始图像,将以前的数据与新数据进行比较以生成视野内物体的边缘轮廓,理想情况下将其转换为最简单的多边形集并显示在第二个Canvas元素中计算多边形/模型。我看过mrdoob在3djavascript上的一些出色工作,从对象文件到Canvas中的渲染,但我希望捕获原始数据并尝试生成网格。目的是通过套接字在2个用户之间发送网格点,以获取当前在相机View中捕获的任何对象。感谢任何帮助。 最佳答案 它不是一个库,但这里演示了您正在寻找

javascript - 在 Canvas 中标记两个圆圈之间的相交区域

我试图标记两个圆圈之间的重叠区域(就像在维恩图中)。我认为这样做的方法是使用两个相交点绘制两条弧线,然后使用fill()填充路径。我知道交点的坐标,但如何将其用作arc()函数的输入?ctx.beginPath();ctx.arc(circle1.x,circle1.y,circle1.r,?,?,true);ctx.fill();ctx.closePath(); 最佳答案 您可以使用Canvas的globalCompositeOperation绘制两个形状的交集globalCompositeOperation允许您控制在Canva

javascript - 如何改变 HTML canvas 中的线条粗细?

我这里有一个例子http://jsfiddle.net/8NzjH/我正在尝试绘制一条粗的中间线,如下所示:varcontext=canvas.getContext("2d");context.strokeStyle='#000000';context.fillStyle='#000000';context.moveTo(10,10);context.lineTo(50,10);context.save();context.lineWidth=15;context.moveTo(10,30);context.lineTo(50,30);context.restore();context

javascript - 隐藏 <canvas> 元素

在我的javascript代码中的某处,有一个函数可以在我的代码中注入(inject)canvas元素。Canvas元素显示10秒,然后消失。这是被注入(inject)的代码..问题是我无法在我的javascript中找到那段代码。还有其他方法可以完全隐藏吗? 最佳答案 真的吗?ican'tfindthatbitofcodeinmyjavascript无论如何,假设(!)这是x==0,y==2的唯一Canvas,宽度==46,height==17,您可以使用document.querySelector获取Canvas并将其隐藏。//

javascript - svg Canvas 内的原生按钮标签

我需要在SVGCanvas中放置一个按钮标签,有什么办法吗?(我正在使用拉斐尔JS)我知道我可以在svgCanvas内“绘制”一个按钮并编写onclick事件代码,但我想保留浏览器按钮的原生外观和感觉。谢谢你。 最佳答案 可以在SVG中使用HTML按钮,使用SVGforeignObject元素:http://www.w3.org/TR/SVG/extend.html#ForeignObjectElement规范中包含如何使用它的示例。不幸的是,我不确定如何最好地使用raphaeljs中的foreignObject。我相信foreig

Javascript Canvas 碰撞检测

我正在使用需要碰撞检测的Canvas在Javascript中构建游戏,在这种情况下,如果玩家Sprite击中盒子,则不得允许玩家穿过盒子。我有一个名为blockList的全局数组,它包含绘制到Canvas上的所有框。它看起来像这样:varblockList=[[50,400,100,100]];他们像这样被吸引到Canvas上:c.fillRect(blockList[0][0],blockList[0][1],blockList[0][2],blockList[0][3]);我还有一个播放器对象,它有一个更新方法和一个绘制方法。Update根据键盘输入等设置玩家的位置,主游戏循环使用