草庐IT

canvas-editor

全部标签

javascript - 浏览器之间的 filltext() Canvas 文本位置差异

从问题底部的屏幕截图中可以看出,或者通过directlytothegame.文本的放置方式因浏览器而异(firefox15.0.1的呈现方式与IE9.9和Chrome21不同)。调用绘制函数:context.fillText(this.wlines[i],this.xcoord,this.ycoord+y+(t)*this.sizey);对象的构造函数:functiontextItem(text,xcoord,ycoord,sizex,sizey,style,context){this.wlines=[];this.text=text;this.xcoord=xcoord;this.y

javascript - 更好的 Canvas 运动模糊

已经askedbefore,但公认的解决方案对我不起作用(从字面上看,链接的演示中对我来说没有任何模糊之处),而且涉及两个Canvas元素有点困惑。我目前正在使用“穷人的”运动模糊技术,它基本上涉及将源图像一遍又一遍地传输到Canvas,并在每次迭代后在顶部放置一个与背景颜色相同的半透明矩形。这是一个演示:http://jsfiddle.net/YmABP/如您所见,它对图像的边缘效果很好,但图像的内部部分根本不会模糊,而且对于具有部分透明度的图像来说看起来很糟糕。是否有更好的运动模糊技术?理想情况下,我希望能够执行类似context.drawImage的操作并传入不透明度参数,但AF

javascript - HTML5 Canvas 中的一百个上下文与一个上下文?

我正在创建一个使用CanvasAPI的简单物理引擎。性能方面的最佳实践是什么?是为Canvas中的每个对象(例如每个球、盒子等)创建一个单独的上下文,还是只使用一个上下文?后者涉及为每个要重绘的对象定义上下文中的路径,以及设置颜色等。当对象数量接近一百时使用多个上下文是个坏主意吗?我之所以问,是因为我不想在一百个工作小时后得到惊喜,因为我采用了错误的方法。 最佳答案 多Canvas的性能提升来自了解您使用多Canvas的原因。除非有用,否则不要使用多个Canvas:Canvas是适度昂贵的元素。在移动设备上,Canvas仍然很慢——

javascript - Angular.js 和 Fabric.js : Fabric canvas changes behavior once code is moved to a Angular Directive

我有一个简单的AngularJS/FabricJs应用程序,目的是允许在上传之前移动/重新调整图像大小。基本上有四个步骤:1)Ipresentaformwithacanvas,andarectangleinsideofformtorepresentacliparea2)browseforalocalfile3)addittothecanvas4)andhaveabuttontocapturetheclipareainsideofthecanvas当我将代码从直接嵌入的形式移动到位于AngularDirective(指令)后面时,就会出现问题。一旦我将表单移动到指令中,就会弹出一个问题,

javascript - Canvas :矩形——对齐网格/对齐对象

我设法通过以下方式操作Fabric.js以向网格功能添加捕捉和缩放:vargrid=100;//SnaptoGridcanvas.on('object:moving',function(options){options.target.set({left:Math.round(options.target.left/grid)*grid,top:Math.round(options.target.top/grid)*grid});});canvas.on('object:scaling',function(options){options.target.set({left:Math.ro

javascript - 带有 AngularJS 的 ChartJS - Canvas 不会显示任何内容

我正在尝试使用angular-chartjs图书馆,但遇到了一些问题。页面上没有错误。但是Canvas是空的。有人有想法吗?我试过几次重新排序脚本。我只是想不通。:(这是html。这是应用初始化:varapp=angular.module('profitly',['ngRoute','chartjs']);这是这部分的Controller:app.controller('graph',function($scope){$scope.someData={labels:['Supply','May','Jun'],datasets:[{data:[1,7,15,19,31,40]},{da

javascript - 在 HTML canvas 上一条接一条地绘制连续的线条

我正在尝试为上述问题编写代码。我试着找到解决办法。这是我目前拥有的。varcanvas=document.getElementById('canvas');varcontext=canvas.getContext('2d');vardrawColorLine=function(start,end,color){vardeltaX,deltaY,i=0,currLength=0,isHor,isVert;deltaX=end[0]-start[0];deltaY=end[1]-start[1];context.strokeStyle=color;isHor=deltaX===0?0:1;

javascript - 将字节转换为图像以在 HTML5 Canvas 上绘制

有人知道我如何将通过websocket(从C#应用程序)发送的字节转换为图像吗?然后我想在Canvas上绘制图像。我可以看到两种方法:以某种方式在Canvas上以字节形式绘制图像而不进行转换它。然后在javascript中以某种方式将字节转换为base64字符串画画。这是我接收绘图字节的函数:functiondraw(imgData){varimg=newImage();img.onload=function(){cxt.drawImage(img,0,0,canvas.width,canvas.height);};//WhatIwasusingbefore...img.src="da

javascript - 我在 Chrome 中收到 "Canvas has been tainted"错误,但在 FF 中没有

我的Javascript实现有问题。该脚本将在Firefox中运行,但在Chrome中它会显示:Unabletogetimagedatafromcanvasbecausethecanvashasbeentaintedbycross-origindata.index.html:1UncaughtError:SecurityError:DOMException18有谁知道造成这种不一致行为的原因是什么? 最佳答案 Chrome不认为不同的本地文件来自同一域。也就是说,您通过file://URL引用的每个本地文件都被视为来自与其他file

javascript - HTML5 Canvas : Moving/panning world with arrow keys in EaselJS

经过一年的学习和反复试验,我觉得我开始对JavaScript有了更多的了解。所以,现在,我想尝试编写一个简单的2D平台游戏(想想《super马里奥世界》或《刺猬索尼克》)。为此,我将使用EaselJS库。我想弄清楚如何使用左右箭头键在Canvas中移动/平移“世界”。我知道如何在箭头键的keydown上运行函数,但我不太确定应该如何处理移动/平移。当按下一个键时,我是否应该调整Canvas中每一个东西的位置/坐标?或者我是否应该将所有东西都放在一个容器中并移动容器的位置/坐标?我会感激任何能将我推向正确方向的东西。泰夫姆:)更新了答案Thechosenanswerbelow确认我确实必