草庐IT

Canvas-EventSystem-Panel

全部标签

css - 使用 css 很好地缩放 Canvas

我正在尝试在Canvas上绘制图像,然后使用css将Canvas调整到一定尺寸。事实证明,许多浏览器并不能很好地缩小Canvas。OSX上的Firefox似乎是最差的之一,但我没有测试太多。这是问题的一个最小示例:HTMLCSSimg,canvas{width:125px;}JSvarimage=document.getElementsByTagName('img')[0],canvas=document.getElementsByTagName('canvas')[0];image.onload=function(){canvas.width=image.width;canvas.h

javascript - 使用 html Canvas 的可编辑网格

最近,当我注意到在GoogleSpreadsheets的最新迭代中,他们使用canvas呈现电子表格网格时,我感到非常惊讶。标签,而在过去他们使用久经考验的渲染网格。在之前的版本中,使用虚拟行技术(类似于slickgrid中所做的)在任何一个时间点只呈现一小部分实际行。这提供了相当不错的性能(slickgrid有一个500,000行的演示)。我的问题:怎么样canvas能够比虚拟DOM元素技术更有效吗?以这种方式使用Canvas时,如何确保Canvas以与滚动相同的速度呈现,因为与虚拟行技术不同,没有预呈现缓冲区?有谁知道使用htmlcanvas创建可编辑网格的开源示例,或任何其他完成

javascript - HTML5 Canvas 100% 高度和宽度

我试图让这个雨滴Canvas脚本占据100%的宽度和高度,但我似乎没有做任何工作。我尝试更改Canvas区域中的CSS和高度/宽度,但它要么没有任何改变,要么根本不起作用。有一次我尝试了一些让它真正变大的东西,它似乎对雨滴有一种奇怪的影响,它们变得模糊而且更大,所以它一定是实际上拉伸(stretch)了Canvas而不是让它变大。下面是默认800x800像素Canvas的代码。风格article,aside,figure,footer,header,hgroup,menu,nav,section{display:block;}Canvas脚本varcanvas=null;varcont

html - HTML5 Canvas 像素大小是否取决于 Canvas 大小?

我正在使用HTML5Canvas绘制简单的线条:context=$('canvas')[0].getContext('2d');context.moveTo(150,20);context.lineTo(300,20);context.stroke();当我的CanvasCSS发生变化时:canvas{width:500px;height:500px;}到canvas{width:1000px;height:1000px;}笔划宽度和高度也加倍!给了什么? 最佳答案 CSS仅确定其可见大小。更改HTML中的width和height属

HTML5 Canvas 橡皮擦

有一种实现橡皮擦的方法(除了使用白色铅笔?)。我正在使用分层,我在Canvas下方有一个图像,因此,如果橡皮擦涂成白色,用户会注意到,因为下面的图像不是纯白色。 最佳答案 https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing实际功能是:functioneraser(){context.globalCompositeOperation="destination-out";context.strokeStyle="rgba(255

javascript - 如何在 React 中访问 Canvas 上下文

我做了一个colorpicker使用React和Canvas。目前,组件是在React中呈现的,而Canvas是使用vanillajavascript完成的。我想要两个网格更多,所以我希望用React处理点击事件。比如这个colorStrip.addEventListener("click",click,false);functionclick(e){x=e.offsetX;y=e.offsetY;varimageData=context.getImageData(x,y,1,1).data;rgbaColor='rgba('+imageData[0]+','+imageData[1]

javascript - Canvas 中的 Angular 渐变

我正在寻找允许拥有thiseffectonacanvas'stroke的代码.我已经有了一个动画的圆形笔画,我只需要获得Angular渐变,而不是线性的也不是径向的。我只有3种颜色。现有一个isavailablehere(评论评分) 最佳答案 上下文strokeStyle可以是渐变://createagradientgradient=ctx.createLinearGradient(xStart,yStart,xEnd,yEnd);gradient.addColorStop(0.0,"blue");gradient.addColor

javascript - 在 Canvas 中使用javascript获取鼠标位置

我正在研究jquery和html5canvas。我只想做一个简单的html5绘图示例。当鼠标移动时,我在鼠标下方绘制红色方block。我的代码很简单,但是我在获取Canvas内的鼠标光标位置时遇到了问题。现在,我正在使用x=event.offsetX;获取鼠标位置。这在chrome中工作得很好,但是当涉及到firefox时,它不起作用。我将代码更改为x=event.layerX。但是好像layerX是我的鼠标相对于网页的位置,而不是Canvas的位置。因为我总是看到偏移量。我有两个问题,第一,在firefox下如何获得正确的鼠标位置是正确的。其次,我如何编写适用于ie、firefox、

javascript - 悬停时更新 HTML5 Canvas 矩形?

我有一些代码可以在Canvas上绘制一个矩形,但我希望当我将鼠标悬停在它上面时该矩形会改变颜色。问题是在我绘制了矩形之后,我不确定如何再次选择它来进行调整。我想做的事情:varc=document.getElementById("myCanvas");varctx=c.getContext("2d");ctx.rect(20,20,150,100);ctx.stroke();$('c.[rectangle]').hover(function(this){this.fillStyle='red';this.fill();}); 最佳答案

performance - <canvas> 和 <div> 的效率

我想问问是否有人可以给我一些关于我想做出的设计决定的提示。我的项目将包含一些Sprite(预计屏幕上同时显示10到30个),并且有多种实现它们的方法。一种方法是CSS-Sprites,另一种方法是在Canvas上绘制它们。两者都不难。背景将是由另一个人绘制的瓷砖map,在后台。我看过Crafty将Sprites附加为在中的HTML中,作为CSS-Sprite。我不确定是否存在速度差异是否在Canvas中。有区别吗?我希望用户通过鼠标点击、向左、向右等方式与sprite进行交互。当然,sprite会在图blockmap的元素上站立或行走。那么为编写处理程序是否更有效?并找到Sprite,