草庐IT

Canvas-EventSystem-Panel

全部标签

javascript - 裁剪 Canvas /导出具有一定宽度和高度的html5 Canvas

关于如何在Canvas上通过drawImage()裁剪图像的教程有数百个。context.drawImage(imageObj,sourceX,sourceY,sourceWidth,sourceHeight,destX,destY,destWidth,destHeight);但是,我有一个Canvas可以填充用户的浏览器。通过将Canvas导出为图像,我只想从(0|0)导出640px*480px的区域。问题:我如何告诉javascript仅使用640*480的Canvas用于toDataURL()?这是我目前所拥有的:$("#submitGraphic").click(functio

javascript - 清除整个转换后的 HTML5 Canvas,同时保留上下文转换

我想通过使用translate()和scale()转换上下文来缩放和平移HTML5Canvas,清除Canvas,然后重新绘制。请注意,我明确没有在我的转换周围调用save()和restore()。如果我执行标准的ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height)那么整个可见Canvas将不会被清除;缩小或平移可能会导致此初始矩形无法完全覆盖绘图区域。如果我执行Webkit友好的清除方法...varw=canvas.width;canvas.width=0;canvas.width=w;...然后重置上下文的累积转换。如何在不丢失

html - 将 HTML Canvas 缩放到浏览器窗口大小,但不缩放 Canvas 内的元素

有没有一种方法可以将HTMLCanvas缩放到浏览器窗口的宽度/高度但不缩放其中的内容?假设我正在创建小行星并希望使用整个浏览器窗口,但不希望在调整窗口大小时岩石和飞船按比例放大/缩小。 最佳答案 不要使用CSS缩放Canvas。这将向上/向下缩放Canvas中的像素。相反,在适当的元素(例如窗口)上观察resize事件,然后更改.width和.height属性。这将改变您绘制的像素数。继续使用您一直使用的固定尺寸绘图命令。对象将在屏幕上保持相同的像素大小。为了让您的内容在屏幕上居中,您可能希望在调整大小后立即在上下文中使用tran

html - Canvas - 合并两张图片,返回一个 img html 对象?

我有两个具有不同srcurl的htmlimg对象。我想合并这两张图片(使用Canvas),并创建一个合并的img对象。这可能吗?怎么办? 最佳答案 你可以使用drawImage.Demo.代码:varcanvas=document.getElementById("canvas");varctx=canvas.getContext("2d");varimg1=loadImage('http://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png',main);varimg2=loadIma

javascript - 使用 HTML 5 和 Canvas 构建图像编辑器

我想构建一个类似于http://www.getuncommon.com的产品定制器.但我将使用HTML5canvas和Javascript而不是Flash。有没有我可以用来创建和实现与Uncommon类似的编辑器/产品定制器的库?我确实看过jQueryUI,但它似乎更侧重于界面而不是创建我自己的编辑器。 最佳答案 看看Fabric.jscanvaslibrary.我们在生产中使用它designeditoronprintio.ru 关于javascript-使用HTML5和Canvas构建

javascript - 在 html5 Canvas 上移动对象

我使用fillText选项在html5canvas对象上放置了一个文本,问题是我需要移动文本位置或更改已呈现文本的颜色。不久我需要知道如何操作Canvas元素的特定子元素 最佳答案 我认为Canvas背后没有对象模型,所以你不能像访问“文本对象”一样访问“子对象”并更改它。您可以做的是用覆盖Canvas“像素”的不同颜色再次绘制文本。如果你想移动文本,首先你必须清除Canvas或用背景/透明颜色重新绘制文本以去除之前位置的文本。然后你可以在新的位置绘制文本。 关于javascript-在

html - 获取 Canvas 内每个矩形的点击事件?

我不知道如何在每个矩形上注册点击事件。这是示例:http://jsfiddle.net/9WWqG/1/ 最佳答案 您基本上必须跟踪矩形在Canvas上的位置,然后在Canvas本身上设置一个事件监听器。从那里您可以获取点击事件的坐标并遍历所有矩形以测试“碰撞”。这是一个这样做的例子:http://jsfiddle.net/9WWqG/2/html:JavaScript://getcanvaselement.varelem=document.getElementById('myCanvas');functioncollides(re

javascript - HTML5 canvas .toDataURL() 图片没有背景色

问题使用.toDataURL()时HTML5的方法元素background-color元素的属性不适用于图片。问题发生这种情况是因为background-color实际上不是canvas的一部分,而是DOM样式?如果是这样,或者有其他问题,有什么解决方法可以解决这个问题?fiddle玩fiddlehere.base64字符串被记录到控制台。附加信息Canvas是从svg创建的使用https://code.google.com/p/canvg/ 最佳答案 其他方法可能是创建一个虚拟CANVAS并将原始CANVAS内容复制到它上面。//

javascript - 使用 JavaScript 将图像加载到 Canvas 上

我目前正在使用进行测试元素来绘制所有背景(稍后我会为这些图像添加效果,这也是我不使用CSS加载图像的原因)。也就是说,我目前很难将图像加载到Canvas上。这是代码:CanvasimagetestingfunctionTest1(){varctx=document.getElementById('canvas');if(canvas.getContext){varctx=canvas.getContext('2d');//Loadingofthehometestimage-img1varimg1=newImage();img1.src='img/Home.jpg';//drawingo

javascript - 将 HTML5 Canvas 作为 blob 上传

我有一个Canvas,我可以毫无问题地将它绘制到DOM上,也可以使用以下方法在本地为用户保存:storCanvas.toBlob(function(blob){saveAs(blob,name+".png");});(注意:我已经包含了canvas-toBlob.js用于跨平台支持,来自http://eligrey.com/blog/post/saving-generated-files-on-the-client-side)现在,我想做的是将相同的Canvas元素发送到服务器。我以为我可以做类似的事情:storCanvas.toBlob(function(blob){upload(b