`
wangming2012
  • 浏览: 141292 次
  • 性别: Icon_minigender_1
  • 来自: 枣阳
社区版块
存档分类
最新评论

HTML5 canvas globalCompositeOperation 设置绘图的顺序

阅读更多

我们总是将一个图形画在另一个之上,大多数情况下,这样是不够的。比如说,它这样受制于图形的绘制顺序。不过,我们可以利用 globalCompositeOperation 属性来改变这些做法。
globalCompositeOperation = type
我们不仅可以在已有图形后面再画新图形,还可以用来遮盖,清除(比 clearRect 方法强劲得多)某些区域。

type 是下面 12 种字符串值之一:

注意:下面所有例子中,蓝色方块是先绘制的,即“已有的 canvas 内容”,红色圆形是后面绘制,即“新图形”。

source-over (default)

这是默认设置,新图形会覆盖在原有内容之上。

Canvas source over

destination-over

会在原有内容之下绘制新图形。

Canvas destination over

source-in

新图形会仅仅出现与原有内容重叠的部分。其它区域都变成透明的。

Canvas source in

destination-in

原有内容中与新图形重叠的部分会被保留,其它区域都变成透明的。

Image:Canvas_composite_destin.png

source-out

结果是只有新图形中与原有内容不重叠的部分会被绘制出来。

Image:Canvas_composite_srcout.png

destination-out

原有内容中与新图形不重叠的部分会被保留。

Image:Canvas_composite_destout.png

source-atop

新图形中与原有内容重叠的部分会被绘制,并覆盖于原有内容之上。

Image:Canvas_composite_srcatop.png

destination-atop

原有内容中与新内容重叠的部分会被保留,并会在原有内容之下绘制新图形

Image:Canvas_composite_destatop.png

lighter

两图形中重叠部分作加色处理。

Image:Canvas_composite_lighten.png

darker

两图形中重叠的部分作减色处理。

Image:Canvas_composite_darken.png

xor

重叠的部分会变成透明。

Image:Canvas_composite_xor.png

copy

只有新图形会被保留,其它都被清除掉。

Image:Canvas_composite_copy.png


 

分享到:
评论

相关推荐

    canvas学习(十二):图形透明及交叠效果设置

    在HTML5的canvas元素中,`globalAlpha`属性用于设置绘制的所有图形的全局透明度。它的值范围是从0到1,其中0表示完全透明,1表示完全不透明。例如,在`12.globalAlpha.html`文件中,我们可以看到如何设置`global...

    HTML5 Canvas核心技术源码技术代码

    HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas...

    html5 canvas飘洒的星星特效

    html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的...

    使用 HTML5 canvas 进行 Web 绘图

    ### 使用 HTML5 canvas 进行 Web 绘图 #### 知识点概览 - **HTML5 Canvas 的引入背景及意义** - **Canvas 元素的基本概念与应用场景** - **Canvas 的基本绘图 API** - **JavaScript 与 Canvas 的交互** - **性能...

    HTML 5 Canvas基础教程 源码+PDF

    《HTML 5 Canvas基础教程》从HTML5和JavaScript(以及jQuery)的基础知识讲起,全面介绍了HTML5Canvas的各种特性,包括渲染上下文、坐标系统、绘制图形、保存和恢复画布状态,以及变形、合成、处理图像和视频等,让...

    开源的HTML5 Canvas画图插件 - Literally Canvas

    HTML5的Canvas元素为网页带来了强大的图形绘制能力,而Literally Canvas则是一个优秀的基于Canvas的开源画图插件,它提供了一套完整的画图工具,使得用户可以在网页上进行自由的绘图操作。在本文中,我们将深入探讨...

    HTML5 Canvas核心技术代码

    2. **Canvas绘图API**: - `fillRect(x, y, width, height)`:绘制填充的矩形。 - `strokeRect(x, y, width, height)`:仅绘制矩形边框。 - `beginPath()`、`moveTo(x, y)`、`lineTo(x, y)`、`closePath()`、`...

    HTML5_canvas_Web.rar_canvas_canvas html5_canvas 绘图_html5_html5 c

    这个压缩包“HTML5_canvas_Web.rar”显然包含了关于如何利用HTML5的canvas元素进行Web绘图的资源,其中的核心文件是“使用 HTML5 canvas 进行 Web 绘图.mht”。 Canvas API 提供了一系列的JavaScript方法,使得开发...

    html5canvas播放视频

    HTML5 Canvas 是一个强大的网页图形绘制工具,允许开发者在网页上动态绘制图像,而无需依赖任何插件。在这个场景中,我们关注的是如何利用Canvas来播放视频。这涉及到HTML5的Media API和Canvas API的结合使用,使得...

    HTML5 Canvas五彩缤纷的3D发光水晶球动画

    4. **性能优化**:由于Canvas绘图是实时的,可能需要考虑性能问题。避免不必要的重绘,利用`clearRect`清除指定区域,或者使用`getImageData`和`putImageData`进行局部更新,都是常见的优化手段。 5. **动画帧率...

    HTML5 CANVAS 绘图实现

    HTML5 CANVAS 绘图 JS 只需要简单的一行代码即可渲染整个绘图版 主要用于实现手写签名

    HTML5 Canvas 游戏开发实战PDF+源码

    2. **Canvas绘图** - `fillRect()`、`strokeRect()`用于绘制矩形,`beginPath()`、`moveTo()`、`lineTo()`等用于绘制自定义路径。 - `arc()`函数绘制圆形或弧线,`quadraticCurveTo()`和`bezierCurveTo()`绘制二次...

    HTML5 Canvas绘图示例.rar

    这个“HTML5 Canvas绘图示例.rar”压缩包包含了一个具体的应用实例,教你如何利用Canvas API来画直线、图形以及进行各种图形操作。 首先,Canvas API的核心是`<canvas>`元素,它提供了一个二维渲染上下文,通过...

    HTML5 canvas仿屏保动态管道

    HTML5 canvas 是一种在网页上绘制图形的API,它允许开发者通过JavaScript动态创建和修改二维图形,从而实现丰富的视觉效果。在这个"HTML5 canvas仿屏保动态管道"项目中,我们利用canvas元素来模仿经典的Windows屏保...

    html5 canvas 游戏

    这个游戏不仅展示了HTML5 Canvas的技术潜力,也为学习者提供了一个很好的实践案例,通过研究源代码,可以深入了解Canvas的绘图和游戏开发原理。同时,这个小游戏也表明,HTML5 Canvas不仅可以用于复杂的可视化应用,...

    HTML5Canvas如何取消反锯齿绘图

    HTML5Canvas的绘图就是默认anti-aliasing的。其实作为一般的开发者,可以不关心这个东西的存在,好像anti-aliasing是理应如此的。但是,如果我们的用户非要看到non-anti-aliasing的效果呢?这个类似有了酱油还要吃盐...

    HTML5 canvas宇宙中星云动画背景特效

    总的来说,“HTML5 canvas宇宙中星云动画背景特效”是一个综合运用了canvas绘图、动画、渐变、混合模式、粒子系统等技术的项目。通过这个特效,开发者可以学习到如何利用HTML5 canvas创建出引人入胜的视觉体验,同时...

    HTML5 CanvasAPI

    HTML5的Canvas被纳入规范,因为它为浏览器端提供了二维绘图的能力,而且性能优秀,实现起来相对简单。 尽管HTML5 Canvas在执行性能上有着明显的优势,但它也存在一些限制。例如,Canvas上的图形是位图,不可缩放,...

    详解Html5 Canvas画线有毛边解决方法

    Html5 Canvas画线有毛边是一个在Web前端开发中常见的问题,特别是在使用Canvas 2D渲染图形时。这个问题主要是由于Canvas中坐标点与像素点之间的对齐问题造成的。下面我们将详细探讨这个问题及解决方案。 **Canvas...

Global site tag (gtag.js) - Google Analytics