做一个canvas鼠标跟随动画的时候用到了,就copy w3c的解释整理一番: globalCompositeOperation 属性设置或返回如何将一个源(新的)图像绘制到目标(已有)的图像上. 源图像 = 您打算放置到画布上的绘图. 目标图像 = 您已经放置在画布上的绘图. 第二个就是用到的lighter,属性等于lighter,两个颜色叠加,就会出来很奇特的效果~~…
在开发过程中遇到过类似刮刮卡的效果,就是涂抹时变透明,显示出下方的内容,做法思路简单说一下问题和解决方案: 分为2层,最下面一层是内容,比如'一等奖',上面一层用一个canvas遮挡住,画布本来是透明的,那必须给整个画布颜色 ctx.fillStyle = '#27293D' ctx.fillRect(0,0,1800,460) 那么如何做到中间部分透明呢? 如果用清除画布内容是可以清除掉部分填充色的,但是这个清除是矩形的,不规则的做不到,所以不能用 ctx.clearRect()去清除画布 那…
我们总是将一个图形画在另一个之上,大多数情况下,这样是不够的.比如说,它这样受制于图形的绘制顺序.不过,我们可以利用 globalCompositeOperation 属性来改变这些做法.globalCompositeOperation = type我们不仅可以在已有图形后面再画新图形,还可以用来遮盖,清除(比 clearRect 方法强劲得多)某些区域. type 是下面 12 种字符串值之一: 注意:下面所有例子中,蓝色方块是先绘制的,即“已有的 canvas 内容”,红色圆形是后面绘制,即…
首先引入<canvas></canvas>标签就不必说了. 其次就是得到canvas的2d环境了( var ctx = canvasDom.getContext('2d') ). 现在呢,你可能想画点什么东西.画东西之前你要确定好一些东西,比如: ctx.fillStyle  这是一个用来确定填充颜色的属性.(带fill都和填充有关) ctx.strokeStyle  这是一个用来确定"笔路径"(就像是线条)的属性.(带stroke都和描线有关) ctx.sha…
后台in-code设定元件UIElement的Canvas位置属性的两种方法: 1.UIElement.SetValue()方法 uiElement.SetValue(Canvas.TopProperty, 100.0); uiElement.SetValue(Canvas.LeftProperty, 100.0); 2. Canvas.SetTop()方法 //Right\Buttom\Left同 Canvas.SetTop(uiElement, 100.0); Canvas.SetLeft(…
globalCompositeOperation 属性设置或返回如何将一个源(新的)图像绘制到目标(已有)的图像上. 源图像 = 您打算放置到画布上的绘图. 目标图像 = 您已经放置在画布上的绘图. 可以设置的属性值 效果 1.source-over 2.source-atop 3.source-in 4.source-out 5.destination-over 6.destination-atop 7.destination-in 8.destination-out 9.lighter 10…
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta name='description' content='this is my page'> <meta name='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="…
globalCompositeOperation即Canvas中的合成操作. 1.source-over 这是默认值,他表示绘制的图形将画在现有画布之上 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript" src="http://aj…
合成属性 globalAlpha                                设置或返回绘图的当前 alpha 或透明值 globalCompositeOperation                设置或返回新图像如何绘制到已有的图像上 <script type="text/javascript"> var arr=new Array(); arr.push("source-atop"); arr.push("source…
今天用canvas做了一个页面特效,呼呼,在做的过程中发现createRadialGradient 和 globalAlpha这2个属性一起使用导入不能实现透明度问题,首先把createRadialGradient设置属性总结一下: createRadialGradient() : 创建一条放射颜色渐变. 参数: xStart:开始圆的圆心的x坐标 yStart:  开始圆的圆心的Y坐标 radiusStart: 开始圆的半径 xEnd: 结束圆的圆心的x坐标 yEnd: 结束圆的圆心的Y坐标…
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta name='description' content='this is my page'> <meta name='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="…
lineCap默认值是butt,还有aquare,round 使用:context.lineCap="butt" lineJoin miter是默认 还可以是round,bevel 此处又会涉及到另一个属性,context.miterLimit 默认miterLimit是10,当超过10时,会以bevel的形式显现,那么什么是miterLimit呢?具体计算是有些复杂的,因为线是有宽度的,而miterllimit 指的是真正的顶端距离有宽度所产生的尖端点之间的距离值 下面介绍canva…
文本属性和方法 font                        设置或返回文本内容的当前字体属性 textAlign                设置或返回文本内容的当前对齐方式 start         默认.文本在指定的位置开始. end         文本在指定的位置结束. center         文本的中心被放置在指定的位置. left         文本左对齐. right         文本右对齐. textBaseline        设置或返回在绘制文本…
参考: http://www.cnblogs.com/jenry/archive/2012/02/11/2347012.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>globalCompositeOperation</title> </head> <body> <…
lineTo(x,y) 定义线条结束坐标 moveTo(x,y) 定义线条开始坐标 ctx.stroke();绘制空心图形 ctx.fill();填充图形 把当前路径环绕起来的区域进行填充 ctx.fillStyle 填充颜色 ctx.strokeStyle 绘制图形颜色 ctx.closePath();//让图形闭合,防止锯齿 ctx.beginPath();// // 一个画布内画多个图形,放了防止重绘之前的路径,所以先把之前的路径清除掉 非零环绕原则: a 是用来判断哪些区域属于路径内(…
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta name='description' content='this is my page'> <meta name='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="…
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta name='description' content='this is my page'> <meta name='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="…
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta name='description' content='this is my page'> <meta name='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="…
<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta name='description' content='this is my page'> <meta name='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="…
定义和用法 font 属性设置或返回画布上文本内容的当前字体属性. font 属性使用的语法与 CSS font 属性 相同. 默认值: 10px sans-serif JavaScript 语法: context.font="italic small-caps bold 12px arial"; 属性值 值 描述 font-style 规定字体样式.可能的值: normal italic oblique font-variant 规定字体变体.可能的值: normal small-c…
  source-over 默认,相交部分由后绘制图形的填充(颜色,渐变,纹理)覆盖source-in 只绘制相交部分,由后绘制图形的填充覆盖,其余部分透明 source-out 只绘制后绘制图形不相交的部分,由后绘制图形的填充覆盖,其余部分透明 source-atop 后绘制图形不相交的部分透明,相交部分由后绘制图形的填充覆盖 destination-over 相交部分由先绘制图形的填充(颜色,渐变,纹理)覆盖 destination-in 只绘制相交部分,由先绘制图形的填充覆盖,其余部分透明…
source-over 默认.在目标图像上显示源图像. source-atop 在目标图像顶部显示源图像.源图像位于目标图像之外的部分是不可见的. source-in 在目标图像中显示源图像.只有目标图像内的源图像部分会显示,目标图像是透明的. source-out 在目标图像之外显示源图像.只会显示目标图像之外源图像部分,目标图像是透明的. destination-over 在源图像上方显示目标图像. destination-atop 在源图像顶部显示目标图像.源图像之外的目标图像部分不会被显…
[开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例) HTML5最全快速查找离线手册:https://pan.baidu.com/s/19seE8TJQSx4IsWgXtKQS0Aj9ys 涵盖内容有如下:HTML 5 Video + DOMHTML 5 音频HTML 5 拖放HTML 5 CanvasHTML 5 内联 SVGHTML 5 Canvas vs. SVGHTML 5 地理定位HTML 5 Web 存储HTML 5 应用程序缓存HTML 5 Web WorkersHT…
  context . restore() //弹出堆最上面保存的绘图状态 context . save() //在绘图状态堆上保存当前绘图状态 绘图状态可以看作当前画面应用的所有样式和变形的一个快照.而状态的应用则可以避免绘图代码的过度膨胀. 转换(Transformations) context . rotate(angle)  //按给定的弧度旋转,按顺时针旋转 context . scale(x, y) //按给定的缩放倍率缩放,1.0,为不变 context . setTransfor…
在默认情况之下,如果在Canvas之中将某个物体(源)绘制在另一个物体(目标)之上,那么浏览器就会简单地把源特体的图像叠放在目标物体图像上面. 简单点讲,在Canvas中,把图像源和目标图像,通过Canvas中的globalCompositeOperation操作,可以得到不同的效果,比如下图: 正如上图,红苹果和黑色的圆,通过globalCompositeOperation的destination-out就变成了被咬了一口的红苹果.也就是说,在Canvas中通过图像的合成,我们可以实现一些与众…
如上图所见,本文就是要实现上面那种效果. 由于最近AlloyTouch要写一个下拉刷新的酷炫loading效果.所以首选大波浪进度图. 首先要封装一下大波浪图片进度组件.基本的原理是利用Canvas绘制矢量图和图片素材合成出波浪特效. 本文的代码你可以在这里https://github.com/AlloyTeam/AlloyTouch/blob/master/refresh/wave/image_wave.html找到. 了解quadraticCurveTo quadraticCurveTo()…
我们经常使用一些excel表格来处理数据,在html中,我们可以用table来制成表格.今天来看一下一些不同的方法. 方法一:使用CSS3的background的linear-gradient属性 linear-gradient表示一种线性渐变,指定好开始的坐标,以及线性渐变的参数,就可以实现背景颜色的多变. 先来看效果图: 看html代码: <div class="grid"></div> CSS代码: div,canvas{ width: 400px; he…
本文将继续介绍canvas的功能,展示如何绘制更复杂的图形(包括圆弧和曲线),如何使用剪裁区域来限制操作以及如何绘制文本.还是介绍可以应用在画布上的特效和变换,包括阴影.透明度.旋转和坐标重映射. 1. 用路径绘图 路径本质上是一组独立的线条(被称为子路径),它们组合到一起构成图形.我们绘制子路径的方式就像用笔在纸上画图一样,笔尖不离开纸面:画布上的每一条子路径都以上一条的终点作为起点.下面展示了绘制基本路径的方法: 绘制一条路径的基本顺序如下: * 调用 beginPath方法: * 用 mo…
或许连小游戏都算不上,可以叫做mini游戏. 没有任何框架或者稍微有点深度的东西,所以有js基础的或者要追求炫酷效果的可以直接ctrl+w了. 先贴出两个游戏的试玩地址: 是男人就走30步 是男人就忍30秒 基础 接下来简单说说怎样开发这样的基础游戏. 首先你要懂得canvas上的基本api,可以参考w3cschool:如果你喜欢e文,也可以参考岑安推荐的HTML5 Canvas — the Basics 接着进入主流程,这样的canvas小游戏基本上都是基于每帧重绘,一般有下面这样的过程: 重…
HTML 5 Canvas 参考手册 HTML 视频/音频 HTML 文档类型 描述 HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript). 不过,<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务. getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性. 本手册提供完整的 getContext("2d") 对象属性和方法,可用于在画布上绘制…