草庐IT

Canvas-EventSystem-Panel

全部标签

javascript - 重绘 Canvas html5而不闪烁

我的屏幕每25毫秒重绘一次,图像闪烁,这是我的代码varFRAME_RATE=40;varintervalTime=1000/FRAME_RATE;gameLoop();functiongameLoop(){context.clearRect(0,0,640,640);renderMap();window.setTimeout(gameLoop,intervalTime);}这里是renderMap()函数functionrenderMap(){varstartX=playerX-(screenW/2);varstartY=playerY-(screenH/2);maxX=player

javascript - 有没有办法让 WebGL 在屏幕外渲染,而无需将 webgl Canvas 附加到 DOM?

我原以为这是一个很容易找到答案的问题,但结果却非常难以捉摸。基本上,我正在尝试使用WebGL来完成一些图像处理和生成任务的繁重工作,并且我希望它在屏幕外工作。理想情况下,我希望WebGL将场景渲染到我可以从中gl.readPixels()的帧缓冲区,或者渲染到webglCanvas,以便我可以将它用作源对于context.drawImage()。问题是,我不想显示webglCanvas本身,我只想将它的一部分复制到我有常规“2d”上下文的可见Canvas。到目前为止,如果没有以下初始化,我似乎无法让它工作,这对我来说似乎是一个丑陋的hack:glCanvas=document.crea

javascript - canvas drawImage 第一次不绘制图像

我正在使用HTML5Canvas开发一个简单的JavaScript游戏。这是一个非常典型的游戏循环设置,涉及:init()函数初始化要在运动场中使用的对象,随机化一些起始x/y位置和类似的设置任务绘制所有游戏对象的draw()函数,包括一些简单的Canvas形状和一些图像setInterval每25毫秒调用一次绘图在启动此项目时,我在init()函数的末尾调用了setInterval,因此它会在您加载页面后立即开始绘制和动画,一切正常。现在我已经更进一步了,我想在加载时绘制一个完全填充的静态游戏场,然后使用一个按钮来启动主游戏循环间隔。所以我在init()的末尾添加了一个对draw()

javascript - 有没有办法在 IE7 或 IE8 中使用 Canvas?

在IE7和IE8中使用“Canvas”标签有什么解决方法吗?请让我知道。vartextSign=document.getElementById("textSign").value;functionchangeSign(){textSign=document.getElementById("textSign").value;varcanvas=document.getElementById("e");varcontext=canvas.getContext("2d");context.fillStyle="#4c4c4c";context.font="30pxGiddyupStd";co

javascript - HTML5 Canvas ,多边形上/多边形中的图像可能吗?

有没有办法使用javascripthtml5canvas来创建一个多边形,然后在其中显示图像而不是颜色? 最佳答案 经过一些研究,我相信首先使用您的图像创建一个图案,然后将该图案设置为fillStyle可以做到这一点:varctx=canvas.getContext("2d");varpattern=ctx.createPattern(imageObj,"repeat");ctx.fillStyle=pattern;然后只需创建多边形(使用moveTo和lineTo)然后正常填充它即可。来源:thisplugin的源代码。免责声明:

javascript - 具有两条二次曲线的 Canvas 剪辑图像

我只是想以曲线剪裁图像..但没有发生这种情况..仅显示图像,但不显示剪辑。varcanvas=document.getElementById('leaf');varcontext=canvas.getContext('2d');/**save()allowsustosavethecanvascontextbefore*definingtheclippingregionsothatwecanreturn*tothedefaultstatelateron*/context.save();context.beginPath();context.moveTo(188,150);context.

html - 为什么 38px x 38px 比 Canvas 矩形 38 x 38 大,尽管尺寸相同 >

我正在尝试绘制一个宽38像素、长38像素的矩形。这按预期工作。但是,当我尝试使用这段代码在Canvas上绘制矩形时varcxt=canvas.getContext("2d");cxt.beginPath();cxt.rect(0,0,38,38);cxt.fillStyle='yellow';cxt.fill();cxt.stroke();我得到一个较小的矩形。为什么会这样?这是否意味着canvas(x,y坐标)中的网格小于1个像素? 最佳答案 您是否显式设置了canvas的宽度和高度?否则,您可能会在浏览器上看到奇怪的默认缩放设置

javascript - Canvas 通过 HTML 绘图并在屏幕调整大小时保留纵横比

背景这是我几天来一直在努力解决的一个相当困难的问题。我正在尝试以幻灯片放映的形式展示类(class)。因此,一节课由不同的幻灯片组成。现在覆盖在每张幻灯片顶部的是适合屏幕大小的Canvas元素。canvas.width=document.body.clientWidth;canvas.height=document.body.clientHeight;这允许教师在Canvas上绘制笔记并突出显示部分类(class)。问题幻灯片的内容由HTML组成,加载幻灯片时看起来像这样。但是当我调整页面大小时...所以这里的问题是Canvas“图像”是根据页面的宽高比使用CSS调整大小的。#theC

css - 在 html 5 中,如何将 div 元素定位在 canvas 元素之上?

谁能帮我:我想在html中将一个div(比如10pxx10px)元素放在canvas元素(比如500pxx500px)的顶部(前面)。我试过更改每个的z-index,但无济于事。有没有人有任何想法,或者这是你不能真正做的事情之一?我已经知道如何进行绝对定位和所有操作,div元素只是卡在canvas元素后面的背景中。我需要一种方法将它放在前面,将Canvas元素放在后面。谢谢! 最佳答案 绝对定位的工作方式是,一般来说,代码中较早的元素位于代码中较晚的元素之后。要改变这一点,你确实使用了z-index。但请注意,z-index仅适用于

javascript - 重新创建 Fabric.js Canvas 并导出为图像?

我有一个Canvas,用户可以在其中使用他们单击的另一个div中的图像创build计,将其发送到Fabric.jsCanvas,在那里它可以四处移动等等。由于Canvas的大小为width="270"和height="519",比成品小,我需要用具有大小width="1001"和height="1920"然后截图,这样我就可以在一张图片中得到所有内容。我该怎么做?到目前为止,这是我的代码的样子:HTMLCSS#CanvasContainer{width:270px;height:519px;margin-left:15px;}#Canvas{overflow:hidden;}JavaS