草庐IT

javascript - canvas ImageData 去除白色像素

我有一些具有白色背景的html图像。我需要删除白色背景。我在想我可以让所有的白色像素透明,但我不知道该怎么做。我只想使用html/javascript。 最佳答案 这是怎么做的..functionwhite2transparent(img){varc=document.createElement('canvas');varw=img.width,h=img.height;c.width=w;c.height=h;varctx=c.getContext('2d');ctx.drawImage(img,0,0,w,h);varimage

javascript - canvas ImageData 去除白色像素

我有一些具有白色背景的html图像。我需要删除白色背景。我在想我可以让所有的白色像素透明,但我不知道该怎么做。我只想使用html/javascript。 最佳答案 这是怎么做的..functionwhite2transparent(img){varc=document.createElement('canvas');varw=img.width,h=img.height;c.width=w;c.height=h;varctx=c.getContext('2d');ctx.drawImage(img,0,0,w,h);varimage

html - Canvas (Kinetic.JS): multiple layers vs single layer approach

谁能解释为什么(事实上,如果)在使用像Kinetic这样的东西时最好将Canvas游戏的主要部分抽象到不同的层?当然感觉你应该,到目前为止我一直是:一层用于背景,一层用于玩家角色,等等。然后我遇到了这样一种情况,我需要一层的形状位于另一层的形状后面-但是将整个层移动到另一层后面不是一个选项,所以我不情愿地重新编码所以整个游戏位于一层。不过,令我惊讶的是,我仍然可以做我需要做的一切。我仍然可以为单个形状或组设置动画或处理事件。简而言之:显式分层带来什么优势?单层方法可能会遇到哪些陷阱? 最佳答案 实际上,层通常会带来巨大的优势。但是,

html - Canvas (Kinetic.JS): multiple layers vs single layer approach

谁能解释为什么(事实上,如果)在使用像Kinetic这样的东西时最好将Canvas游戏的主要部分抽象到不同的层?当然感觉你应该,到目前为止我一直是:一层用于背景,一层用于玩家角色,等等。然后我遇到了这样一种情况,我需要一层的形状位于另一层的形状后面-但是将整个层移动到另一层后面不是一个选项,所以我不情愿地重新编码所以整个游戏位于一层。不过,令我惊讶的是,我仍然可以做我需要做的一切。我仍然可以为单个形状或组设置动画或处理事件。简而言之:显式分层带来什么优势?单层方法可能会遇到哪些陷阱? 最佳答案 实际上,层通常会带来巨大的优势。但是,

javascript - 如何清除 Canvas : HTML5 中的特定行

我对这个Canvas元素完全陌生。我可以在Canvas上画线,但不能只清除特定的线。整个Canvas变成空白。试过这个:HTML:脚本$(document).ready(function(){canvas=document.getElementById("cvs");$("#reDrowA").on("click",function(){a=canvas.getContext('2d');a.translate(0.5,0.5);a.beginPath();a.setLineDash([2,10]);a.moveTo(10,10);a.lineTo(300,10);a.lineTo(3

javascript - 如何清除 Canvas : HTML5 中的特定行

我对这个Canvas元素完全陌生。我可以在Canvas上画线,但不能只清除特定的线。整个Canvas变成空白。试过这个:HTML:脚本$(document).ready(function(){canvas=document.getElementById("cvs");$("#reDrowA").on("click",function(){a=canvas.getContext('2d');a.translate(0.5,0.5);a.beginPath();a.setLineDash([2,10]);a.moveTo(10,10);a.lineTo(300,10);a.lineTo(3

javascript - 缩放和平移 Canvas 后鼠标坐标不匹配

我是javascript和canvas的新手,我有一个程序可以检测椭圆路径上的动画元素。它后来会形成一棵树。但这是我链接到jsfiddle的基本结构。它在没有缩放或平移的情况下工作正常,但一旦我尝试缩放或平移,鼠标坐标就会变得困惑。我尝试遵循markE来自HTML5canvasgetcoordinatesafterzoomandtranslate的建议但我肯定做错了什么,我显然不明白Canvas和转换矩阵发生了什么。我花了大约3天的时间尝试更改我能想到的所有组合,但我似乎无法弄清楚:s已解决:这是我的代码,带有缩放和鼠标平移以及用于动画和检测椭圆上的元素的代码:http://jsfid

javascript - 缩放和平移 Canvas 后鼠标坐标不匹配

我是javascript和canvas的新手,我有一个程序可以检测椭圆路径上的动画元素。它后来会形成一棵树。但这是我链接到jsfiddle的基本结构。它在没有缩放或平移的情况下工作正常,但一旦我尝试缩放或平移,鼠标坐标就会变得困惑。我尝试遵循markE来自HTML5canvasgetcoordinatesafterzoomandtranslate的建议但我肯定做错了什么,我显然不明白Canvas和转换矩阵发生了什么。我花了大约3天的时间尝试更改我能想到的所有组合,但我似乎无法弄清楚:s已解决:这是我的代码,带有缩放和鼠标平移以及用于动画和检测椭圆上的元素的代码:http://jsfid

html - 如何将 Canvas 的一部分捕获到位图

我想捕捉Canvas的一小部分作为位图。那可能吗?这样我就可以在该区域绘制另一个位图后替换它。完成位图后,我想用原始部分替换我在Canvas上绘制的一小块。谢谢! 最佳答案 上下文的drawImage()方法允许您使用现有Canvas作为源。它还允许您指定要绘制的源“图像”的子区域。您还可以以编程方式创建新的Canvas元素。结合这些,您可以创建自己的屏幕外缓冲区并向/从它们进行blit,而无需通过getImageData()/putImageData()或数据URL。我放了一个exampleofthisonline.请注意,虽然该

html - 如何将 Canvas 的一部分捕获到位图

我想捕捉Canvas的一小部分作为位图。那可能吗?这样我就可以在该区域绘制另一个位图后替换它。完成位图后,我想用原始部分替换我在Canvas上绘制的一小块。谢谢! 最佳答案 上下文的drawImage()方法允许您使用现有Canvas作为源。它还允许您指定要绘制的源“图像”的子区域。您还可以以编程方式创建新的Canvas元素。结合这些,您可以创建自己的屏幕外缓冲区并向/从它们进行blit,而无需通过getImageData()/putImageData()或数据URL。我放了一个exampleofthisonline.请注意,虽然该