草庐IT

canvas2d

全部标签

javascript - Canvas 绘图在 Safari 上花费大量时间,但在 Chrome 或 FF 上则不会

我正在我的网站上制作一个万花筒。它所做的只是拍摄一张图像(通过拖放或加载默认图像)并将其复制10次(万花筒的每个切片一个)。在鼠标移动时,调整切片的旋转和缩放以达到所需的效果。在GoogleChrome和Firefox上,它可以无缝运行,没有任何延迟。但是,在Safari上,该网站无法使用,因为它太慢了。我错过了什么吗?这是一个显示问题的JSFiddle。请注意,我已经尝试用RequestAnimationFrame替换setTimeout(update,1000/60),但没有任何改进。JSFiddle:Link$(document).ready(function(){//SCRIP

javascript - Canvas 绘图在 Safari 上花费大量时间,但在 Chrome 或 FF 上则不会

我正在我的网站上制作一个万花筒。它所做的只是拍摄一张图像(通过拖放或加载默认图像)并将其复制10次(万花筒的每个切片一个)。在鼠标移动时,调整切片的旋转和缩放以达到所需的效果。在GoogleChrome和Firefox上,它可以无缝运行,没有任何延迟。但是,在Safari上,该网站无法使用,因为它太慢了。我错过了什么吗?这是一个显示问题的JSFiddle。请注意,我已经尝试用RequestAnimationFrame替换setTimeout(update,1000/60),但没有任何改进。JSFiddle:Link$(document).ready(function(){//SCRIP

html - 构建一个简单的 HTML5/canvas 2D 游戏。游戏引擎推荐使用?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我想通过构建一个简单的2d游戏来开始使用Canvas学习HTML5。我想build一个看起来像这样的:http://www.youtube.com/watch?v=h4SgiVCPfPk您是否推荐我可以用来执行此操作的任何框架或游戏引擎?

html - 构建一个简单的 HTML5/canvas 2D 游戏。游戏引擎推荐使用?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我想通过构建一个简单的2d游戏来开始使用Canvas学习HTML5。我想build一个看起来像这样的:http://www.youtube.com/watch?v=h4SgiVCPfPk您是否推荐我可以用来执行此操作的任何框架或游戏引擎?

javascript - html2canvas 离屏

在使用html2canvas时,我有一个DOM对象的堆栈(包含各种内容的相对定位的div),我希望为其创建单独的缩略图。所以如果有十个div,我将创建十个缩略图。这些对象中的一些将在屏幕外——这些div中的每一个都在一个名为“mainDiv”的独立的包含div中。我遍历mainDiv中的div,并对每个div分别执行html2canvas。对于那些在屏幕上的人来说,这很好用。那些在屏幕外的不会——它们返回时是空白的。我创建了一个解决方法,将对象滚动到mainDiv的顶部,但是这是一个困惑并且在视觉上没有吸引力。是否可以指定一个不可见的DOM对象?理想情况下,我希望能够指定一个包含的di

javascript - html2canvas 离屏

在使用html2canvas时,我有一个DOM对象的堆栈(包含各种内容的相对定位的div),我希望为其创建单独的缩略图。所以如果有十个div,我将创建十个缩略图。这些对象中的一些将在屏幕外——这些div中的每一个都在一个名为“mainDiv”的独立的包含div中。我遍历mainDiv中的div,并对每个div分别执行html2canvas。对于那些在屏幕上的人来说,这很好用。那些在屏幕外的不会——它们返回时是空白的。我创建了一个解决方法,将对象滚动到mainDiv的顶部,但是这是一个困惑并且在视觉上没有吸引力。是否可以指定一个不可见的DOM对象?理想情况下,我希望能够指定一个包含的di

html - 如何使用 HTML5 Canvas 绘制 donut 的一部分?

如标题所述。这可能吗?编辑:当我说donut时,我指的是顶部的二维View唯一的选择是绘制一段圆,然后在顶部绘制一段具有相同原点和较小半径的较小圆,背景颜色?如果是这样那就太废话了:( 最佳答案 您可以通过使用两条弧线制作一条路径来做到这一点。顺时针画一个圆,然后逆时针画第二个圆。我不会详细介绍它,但是构建路径的方式知道将此作为取消填充该部分路径的原因。有关其功能的更多详细信息,您可以thiswikiarticle.如果您正在绘制一个“带框”的矩形,同样会起作用。您以一种方式(顺时针)绘制一个框,然后以另一种方式(逆时针)绘制内部框

html - 如何使用 HTML5 Canvas 绘制 donut 的一部分?

如标题所述。这可能吗?编辑:当我说donut时,我指的是顶部的二维View唯一的选择是绘制一段圆,然后在顶部绘制一段具有相同原点和较小半径的较小圆,背景颜色?如果是这样那就太废话了:( 最佳答案 您可以通过使用两条弧线制作一条路径来做到这一点。顺时针画一个圆,然后逆时针画第二个圆。我不会详细介绍它,但是构建路径的方式知道将此作为取消填充该部分路径的原因。有关其功能的更多详细信息,您可以thiswikiarticle.如果您正在绘制一个“带框”的矩形,同样会起作用。您以一种方式(顺时针)绘制一个框,然后以另一种方式(逆时针)绘制内部框

javascript - 使用 JavaScript 在 HTML Canvas 上绘制螺旋

我已经搜索过,但没有找到任何关于如何使用JavaScript在Canvas中绘制螺旋线的内容。我认为可以使用贝塞尔曲线来实现,如果不起作用,请使用lineTo(),但这似乎要困难得多。此外,我猜想我必须使用三Angular函数和极坐标绘图,而且我已经有一段时间没有这样做了。如果是这种情况,您能否为我指出正确的数学方向。 最佳答案 阿基米德螺线表示为r=a+b(angle)。将其转换成x、y坐标,表示为x=(a+b*angle)*cos(angle),y=(a+b*angle)*sin(Angular)。然后你可以将angle放入fo

javascript - 使用 JavaScript 在 HTML Canvas 上绘制螺旋

我已经搜索过,但没有找到任何关于如何使用JavaScript在Canvas中绘制螺旋线的内容。我认为可以使用贝塞尔曲线来实现,如果不起作用,请使用lineTo(),但这似乎要困难得多。此外,我猜想我必须使用三Angular函数和极坐标绘图,而且我已经有一段时间没有这样做了。如果是这种情况,您能否为我指出正确的数学方向。 最佳答案 阿基米德螺线表示为r=a+b(angle)。将其转换成x、y坐标,表示为x=(a+b*angle)*cos(angle),y=(a+b*angle)*sin(Angular)。然后你可以将angle放入fo