草庐IT

canvas2d

全部标签

javascript - HTML5 Canvas TextBaseline Top 在 Firefox 和 chrome 中看起来不同

在canvas中,当将textBaseline属性设置为'top'时,它在chrome和firefox中的呈现方式不同。在chrome中,线条和文本之间存在间隙,而在firefox中没有间隙。请引用this在您的浏览器中查看,任何帮助将不胜感激。我还检查了similarissue报长回。firefox中是否有任何解决方法可以使其正常工作? 最佳答案 我同意OP的观点,这是一个问题,而且它是Firefox特有的。不过,似乎Firefox已经逐渐调整了垂直偏移。它曾经是大约4个像素,然后是3个。现在,它几乎察觉不到。所以,我同意上面@K

javascript - 背景 Canvas 与常规 Canvas 的性能

不久前,webkit(以及Safari)开始支持元素的CSSCanvas背景(来源:http://www.webkit.org/blog/176/css-canvas-drawing/)。这可以大大简化游戏和多媒体的创建,因为您不需要将Canvas标签注入(inject)DIV(例如),而只需直接挂接到DIV的背景即可。也许是这样的:vartarget=document.getElementById("gameview");varwd=target.clientWidth;varhd=target.clientHeight;varcontext=document.getCSSCanva

javascript - 是否可以将 Proxy 与 native 浏览器对象(HTMLElement、Canvas2DRenderingContext 等)一起使用?

我试图完成的事情。我想共享一个Canvas(因为我正在做的事情很重)所以我想我会做一个有限的资源管理器。您会通过promise向它请求资源,在本例中为Canvas2DRenderingContext。它将上下文包装在一个可撤销的代理中。完成后,您需要调用release,这既会将Canvas返回给有限的资源管理器,这样它就可以将它交给其他人,并且它会撤销代理,这样用户就不会意外地再次使用该资源。除非我制作Canvas2DRenderingContext的代理失败。constctx=document.createElement('canvas').getContext('2d');cons

javascript - 如何使用 HTML Canvas 执行洪水填充?

有没有人在javascript中实现了洪水填充算法以与HTMLCanvas一起使用?我的要求很简单:从一个点开始用单一颜色填充,其中边界颜色是大于指定点颜色的某个增量的任何颜色。varr1,r2;//redvaluesvarg1,g2;//greenvaluesvarb1,b2;//bluevaluesvaractualColorDelta=Math.sqrt((r1-r2)*(r1-r2)+(g1-g2)*(g1-g2)+(b1-b2)*(b1-b2))functionfloodFill(canvas,x,y,fillColor,borderColorDelta){...}更新:我自

javascript - 如何将 Canvas 作为图像保存到 Firebase 存储?

我正在尝试将Canvas作为图像保存到Firebase存储中。我已经阅读了很多关于将Canvas保存到服务器的文章和问题,并尝试用下面的代码来实现。functionserver(){canvas=document.getElementById("c");varstorageRef=firebase.storage().ref();varmountainsRef=storageRef.child('mountains.jpg');varimage=newImage();image.src=canvas.toDataURL("image/png");varuploadTask=storag

javascript - Canvas - Canvas 保存为图像后,橡皮擦在 Canvas 上绘制黑线

在Canvas上绘图非常好。甚至橡皮擦也能正常工作。问题是,当Canvas保存为图像时,它绘制的是黑线而不是橡皮擦。为了更好地理解,我添加了屏幕截图和代码。1。在删除绘图时-一个。源代码-erase(){this.ctx.globalCompositeOperation='destination-out';}handleMove(ev){//letctx=this.canvasElement.getContext('2d');letcurrentX=ev.touches[0].pageX-this.offsetX;letcurrentY=ev.touches[0].pageY-this

javascript - 将 Canvas 图像和 Canvas alpha 蒙版合并到 dataurl 生成的 png

给定两个像素大小相同的Canvas,其中canvas1包含任意图像(jpg、png等),canvas2包含黑色和非黑色像素。我想要实现的目标:使用第三个canvas3我想克隆canvas1并让每个黑色canvas2像素(可能包括黑色阈值)在canvas3中都是透明的我已经有了这样一个可行的解决方案:canvas3context.drawImage(canvas1,0,0);varc3img=canvas3context.getImageData(0,0,canvas3.width,canvas3.height);varc2img=canvas2context.getImageData(

javascript - 如何从 JPG 的 arrayBuffer 表示创建 Canvas imageData 数组

首先,我知道有实现此目的的标准方法(readAsDataURL和drawImage),但不幸的是,它们不适用于此特定用例。我正在使用文件读取器API作为数组缓冲区读取图像,如下所示:varreader=newfileReader();reader.onload=function(e){varbyteArray=newUint8ClampedArray(e.target.result);//dostufftothisarray}reader.readAsArrayBuffer(file);然后我用这个返回的数据创建一个clampedarray。我现在想做的是使用putImageData将

javascript - 如何在不迷失方向的情况下移动旋转 Canvas 图像?

我已将图像加载到Canvas中。旋转后,我无法(拖动)正确移动图像。实际上,它会移动,但它会根据图像的坐标平面移动。因此,将旋转90度的图像向右移动,会向下移动,而不是像预期的那样向右移动。解决这个问题的好方法是什么?这是我的绘制函数:functiondraw(){varim_width=parseInt(imageObj.width+resizeAmount);varim_height=parseInt(imageObj.height+resizeAmount);varrotationAmount=rotationVal-prevRotation;prevRotation=rotat

javascript - document.getElementById().getContext ('2d' ) 不是函数

这不断收到一条错误消息,说它不是一个函数,请帮忙!!varctx=document.getElementById('canvas').getContext('2d');HTML:CanvasRacecanvas{border:1pxsolidblack;background-image:url("http://www.gamefromscratch.com/image.axd?picture=road2048v2.png");background-size:200px300px;background-position-y:-81px;}Javascript:varblueCar=new