草庐IT

canvas2d

全部标签

javascript - HTML Canvas 间隔与 RequestAnimationFrame

所以,也许这里完全是脑残。setInterval()的语法非常清晰。每x毫秒做一些事情。如何最好地将其转换为使用requestAnimationFrame()?我有大约300个对象,每个对象都应该以特定的时间间隔(每8、6、2等秒)执行一个动画序列?我怎样才能最好地使用每秒被调用60次的requestAnimationFrame()来完成这个任务?可能有一个简单的答案,我只是,对于我的生活,无法弄清楚。 最佳答案 要强制requestAnimationFrame坚持特定的FPS,您可以同时使用两者!varfps=15;functio

javascript - MediaStream 同时捕获 Canvas 和音频

我正在从事一个项目,我想:加载视频js并将其显示在Canvas上。使用滤镜改变Canvas(以及视频)的外观。使用MediaStreamcaptureStream()方法和MediaRecorder对象记录Canvas表面和原始视频的音频。在HTML视频元素中播放Canvas和音频流。通过调整以下WebRTC演示代码,我已经能够在视频元素中显示Canvas记录:https://webrtc.github.io/samples/src/content/capture/canvas-record/就是说,我不知道如何在Canvas旁边录制视频的音频。是否可以创建一个包含来自两个不同源/元素

javascript - 如何将焦点设置到 HTML5 canvas 元素?

我正在使用HTML5元素在Firefox2.0.0.16和Safari3.1.2中,都在我的iMac上。(我也在Windows上的Firefox3.0中尝试过这个,但也无济于事。)标签看起来像这样:我有一个按钮可以“激活”一些与Canvas交互的功能。那个按钮的onclick()事件调用函数。在该函数中,我有以下行:document.getElementById("display").focus();这是行不通的。Firebug报告没有错误。但焦点仍然在原来的地方。我可以单击Canvas或指向Canvas的选项卡,焦点将从其他元素丢失,但显然Canvas永远不会获得焦点(Canvas的

javascript - 是否可以让鼠标事件通过 Canvas 层?

我有一个图像网格和它上面的Canvas层,我想在用户滚动网格中的缩略图图像时在Canvas标签上做一些动画,所以我想知道是否可以让鼠标事件通过Canvas层? 最佳答案 在Canvas上试试这个css属性:pointer-events:nonehttp://dev.w3.org/csswg/css3-ui/#pointer-events它旨在阻止元素接收任何鼠标事件。Mozilla似乎相信事件会像您希望的那样传递到它背后的元素。https://developer.mozilla.org/en/CSS/pointer-events看起

javascript - HTML 5 Canvas 中的一手拉圆模拟

followingcode使用jQuery在HTML5Canvas中创建一个圆圈:代码://getareferencetothecanvasvarctx=$('#canvas')[0].getContext("2d");DrawCircle(75,75,20);//drawacirclefunctionDrawCircle(x,y,radius){ctx.beginPath();ctx.arc(x,y,radius,0,Math.PI*2,true);ctx.fillStyle='transparent';ctx.lineWidth=2;ctx.strokeStyle='#003300

javascript - canvas.toDataURL 导致纯黑色图像?

我有一个Canvas元素,里面有一些涂鸦。我正在使用以下方法将Canvas转换为jpeg:vardata=canvas.toDataURL("image/jpeg",0.5);varimg=newImage();img.src=data;$("body").append(img);然而,我得到的不是我的涂鸦,而是纯黑色的jpeg。谁能告诉我我做错了什么?谢谢! 最佳答案 发生这种情况是因为JPEG不支持透明背景。如果您希望支持透明背景,请使用png(默认扩展名),否则您可以使用为Canvas设置非透明填充颜色。fillStyle和。

javascript - 缩放 fabric.js Canvas 对象

我的页面上有一个fabric.jsCanvas,我想对其进行响应。我的代码适用于缩放Canvas本身,但不适用于我在其上绘制的对象。任何的想法?我搜索过SO但找不到适合我的解决方案。varresizeCanvas;resizeCanvas=function(){varheight,ratio,width;ratio=800/1177;width=tmpl.$('.canvas-wrapper').width();height=width/ratio;canvas.setDimensions({width:width,height:height});};Meteor.setTimeout

javascript - canvas 的 toDataURL() 函数有哪些可能的数据类型?

canvas.toDataURL(type,encoderOptions);MDN关于type参数的描述如下:typeOptionalADOMStringindicatingtheimageformat.Thedefaulttypeisimage/png.我还没有找到所有类型,因为我正在尝试评估在不同情况下可能使用的类型。编辑:MSDN'sarticle关于toDataURL()也无济于事。我知道以下内容:image/png质量(编码器选项)似乎不影响输出image/jpeg质量(编码器选项)影响输出image/webp质量影响输出。(根据MDN,仅限Chrome)。但环顾四周后,我似

javascript - HTML5 Canvas 重绘周期性能优化

我们正在构建一个在浏览器中运行的CAD应用。C.A.D代表ComputerAidedDesign.Illustrator、CorelDraw、AutoCAD等是CAD应用程序的一些示例。它基于Paper.js,一个非常简洁的Canvas库,允许您以编程方式操作矢量。问题我目前遇到的主要问题是重绘周期性能。重绘算法是“愚蠢的”(就提高性能的巧妙技巧而言),因此效率低下且速度慢-渲染场景图形项目依赖于逐渐变慢的重绘周期。随着绘制点的积累,每个重绘周期变得越来越慢。重绘方案非常简单:清理整个区域从场景图中取出所有项目重绘所有项目。问题在这种情况下是否有渲染优化的任何类示例-假设我想停止实现脏

javascript - 如何在 Fabric.js 中将对象动态缩放到 Canvas 大小

我想增加我的svg图像的高度和宽度,使其与Canvas的高度和宽度相同,以便它看起来像Canvas的背景图像。当我按下设置背景按钮时,一张svg图像将从我的目录设置为Canvas。我想动态地将此图像缩放到Canvas的高度和宽度。预期输出:IwantthisHTMLcanvas脚本$(document).ready(function(){varcanvas=newfabric.Canvas('c');varcolorSet="red";$("#svg3").click(function(){fabric.loadSVGFromURL('http://upload.wikimedia.o