草庐IT

canvas2d

全部标签

javascript - Canvas getImageData() 以获得最佳性能。提取所有数据还是一次提取一个数据?

我需要扫描Canvas图像中的每个像素,并对颜色等进行一些调整。为了获得最佳性能,我是否应该一次获取所有数据并通过数组对其进行处理?或者我应该在处理每个像素时调用它。所以基本上……data=context.getImageData(x,y,height,width);对比data=context.getImageData(x,y,1,1);//inaloopheight*widthtimes. 最佳答案 通过一次抓取所有图像,您将获得更高的性能,因为:a)对数组的(连续)访问比函数调用快得多。b)特别是当这个函数是一个DOM对象的方

javascript - Photoshop JavaScript 将图像和 Canvas 调整为特定(非正方形)大小

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭9年前。Improvethisquestion如何使用PhotoShop的JavaScript功能将一组数百张图像转换为特定的非方形尺寸(例如320x350像素)?

javascript - Javascript Canvas 中的深度缩放集合

我需要在HTML5Canvas元素中使用数千张大约512x512的图像创建深度缩放马赛克,但我想尽可能少地重新发明轮子。因此,与其将大量大图像组合成一张然后创建深度缩放图像,我宁愿加载大量深度缩放图像并创建深度缩放集合,但Seadragon不支持DZC格式。在我看来,我还有其他三个选择,它们是从头开始,创建一个处理加载DZC文件的查看器扩展Seadragon使其能够处理DZC文件创建一些方法来解析DCZ文件,处理它的相关图像并将其变成一个巨大的DZI文件我希望我能在这里得到一些建议,也许是在DeepZoom和它用来推荐的XML格式方面有更多经验的人的意见,考虑到我的截止日期很紧,这将是

javascript - 以圆形方式放置 Canvas 圈而不重叠

我必须绘制具有相同半径的圆的概念图,一旦它被点击它应该显示它的child并且这些child不应该相互重叠。我可以用Math.PI*2/required_length_of_children划分整个圆形位置。并采取立场varnew_left=Math.round(origin.x+radius*Math.cos(angle));varnew_top=Math.round(origin.y+radius*Math.sin(angle));现在我的问题是如何找出有可用空间的Angular并绘制它们。基本上是寻找圆的双曲树方式排列。在此先感谢您的帮助。 最佳答案

javascript - 在没有 Canvas 的情况下将字节数组转换为图像数据

是否可以在不使用Canvas的情况下将字节数组转换为图像数据?我目前使用类似这样的东西,但我认为没有Canvas也可以做到,或者我错了吗?varcanvas=document.getElementsByTagName("canvas")[0];varctx=canvas.getContext("2d");varbyteArray=[255,0,0,255,255,0,0,255,255,0,0,255,//red0,255,0,255,0,255,0,255,0,255,0,255,//green0,0,255,255,0,0,255,255,0,0,255,255//blue];va

javascript - 使用 html2canvas 和 jsPDF 保存页面的 PDF

我想从一个div的内容创建一个PDF。我正在使用jsPDF.问题是我的样式都没有通过,因此PDF看起来不对。然后我遇到了article使用html2canvas截取页面的屏幕截图。当我尝试提供的示例时,它给了我这个错误:uncaughtexception:Invalidorientation:[objectobject]我该如何解决这个问题?这是我正在使用的JS:(function(){varcontent=$('#content'),cache_width=content.width(),a4=[595.28,841.89];//fora4sizepaperwidthandheigh

javascript - Safari 9 仅在 Canvas 上绘制视频的第一帧(错误)

我正在尝试绘制的当前帧在Canvas上,但10.11上的Safari9.0.3只绘制第一帧……有时!它似乎仅在缓存视频后才起作用,因为硬刷新会导致它再次不起作用。.drawImage(video,0,0,width,height)我就是这样画的。这个简单的代码片段在所有浏览器中都能正常工作,包括Safari9Yosemite,但在Safari9ElCapitan中却不行varvideo=document.querySelector('video');varcanvas=document.querySelector('canvas');canvas.addEventListener('c

javascript - 是否可以制作带有线条背景的 Canvas 或不是矩形的 Canvas ?

我正在尝试制作这个https://massmoca.org/event/walldrawing340/在Javascript代码中,使用p5.js,但我不知道如何用线条填充这些形状。是否有任何其他可能性,比如制作圆形或类似的Canvas,或者我只需要分别制作每个形状?目前我是一个接一个地做,但是做三Angular形和梯形比较粗糙...varsketch=function(p){with(p){leth,w,space;p.setup=function(){createCanvas(900,400);h=height/2;w=width/3;space=10;noLoop();};p.d

javascript - 使 Firefox 渲染 Canvas 文本与 CSS 文本相同

我一直在试验canvas标签和Javascript。我制作了一个页面,该页面从Twitter公共(public)时间线获取推文并将其动画化。它通过在动画背景中使用Canvas元素来工作。动画完成后,它会在顶部创建一个具有相同文本的div元素。我这样做是为了让推文文本可以选择并且链接可以点击。现在,在Safari、Chrome甚至Opera中,canvas文本和div文本看起来几乎完全一样。然而在Firefox中,文本的大小差异足以使其在变为div时“跳转”。有谁知道如何使用CSS使Firefox在canvas元素和div上呈现相同的文本?或者这是与引擎的渲染不一致。我已经把页面onmy

javascript - 在 2D 平面上查找不可访问的点

我一直在研究JavaScript/JQuery代码,它允许箭头键在输入框之间移动(是的,我知道这会破坏标准UI)。它的工作原理是循环遍历每个元素并在每个方向(左、右、上和下)找到最近的元素。例子P1:(0,0),P2:(1,0),P3:(0,2)P1有一点向右(P2)和一点向上(P3)。P2有一点向左(P1)和一点向上(P3)。没有图片P3落后两点(P1和P2),但P1更近。因此最后的Action是:Up1->32->3Right1->2Down3->1Left2->1对于这个例子:P1有两个传入和两个传出连接。P2有1个传入和2个传出连接。P3有两个传入和一个传出连接。这让我思考。是