HTML canvas globalCompositeOperation 属性

返回上一级

Canvas 对象的 globalCompositeOperation 属性设置或返回如何将一个源(新的)图像绘制到目标(已有的)的图像上

源图像 = 打算放置到画布上的绘图

目标图像 = 已经放置在画布上的绘图

语法

context.globalCompositeOperation="source-in";

属性值

描述
source-over 默认。在目标图像上显示源图像
source-atop 在目标图像顶部显示源图像
源图像位于目标图像之外的部分是不可见的
source-in 在目标图像中显示源图像
只有目标图像之内的源图像部分会显示,目标图像是透明的
source-out 在目标图像之外显示源图像
只有目标图像之外的源图像部分会显示,目标图像是透明的
destination-over 在源图像上显示目标图像
destination-atop 在源图像顶部显示目标图像
目标图像位于源图像之外的部分是不可见的
destination-in 在源图像中显示目标图像
只有源图像之内的目标图像部分会被显示,源图像是透明的
destination-out 在源图像之外显示目标图像
只有源图像之外的目标图像部分会被显示,源图像是透明的
lighter 显示源图像+目标图像
copy 显示源图像。忽略目标图像
xor 使用异或操作对源图像与目标图像进行组合

浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 globalCompositeOperation 属性

Internet Explorer 8 及之前的版本不支持 <canvas> 元素

范例

使用不同的 globalCompositeOperation 值绘制矩形

红色矩形是 目标图像 ,蓝色矩形是 *源图像

source-over
destination-over
你的浏览器不支持 <canvas> 元素
<canvas id="canvas-1" width="300" height="150" style="border:1px solid #d3d3d3;background:#ffffff;">你的浏览器不支持 &lt;canvas&gt; 元素</canvas>

<script>
var c=document.getElementById("canvas-1");
var canvOK=1;
try {c.getContext("2d");}
catch (er) {canvOK=0;}
if (canvOK==1)
{
    var ctx=c.getContext("2d");
    ctx.fillStyle="red";
    ctx.fillRect(20,20,75,50);
    ctx.globalCompositeOperation="source-over";
    ctx.fillStyle="blue";   
    ctx.fillRect(50,50,75,50);  
    ctx.fillStyle="red";
    ctx.fillRect(150,20,75,50);
    ctx.globalCompositeOperation="destination-over";
    ctx.fillStyle="blue";   
    ctx.fillRect(180,50,75,50); 
}
</script>

运行范例 »

范例

所有 globalCompositeOperation 属性值

运行范例 »

返回上一级

JavaScript 参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.