Canvas 图形组合方式

/**
 * 图形组合
 */
function initDemo5() {
    var canvas = document.getElementById("demo5");
    if (!canvas) return;
    var context = canvas.getContext("2d");
    var oprtns = [
        "source-atop", // 新图形覆盖原有图形,新图形未重叠部分透明
        "source-in", // 新图形覆盖原有图形,所有未重叠部分透明
        "source-out", // 新图形的未重叠部分显示,原有图形和重叠部分透明
        "source-over", // 新图形覆盖原有图形
        "destination-atop", // 原有图形覆盖新图形,原有图形未重叠部分透明
        "destination-in", // 原有图形覆盖新图形,所有未重叠部分透明
        "destination-out", // 原有图形未重叠部分显示,新图形和重叠部分透明
        "destination-over", // 原有图形覆盖新图形
        "lighter", // 重叠部分颜色叠加
        "copy", // 只显示新图形
        "xor" // 所有未重叠部分显示,重叠部分透明
    ];
    var index = 10; // 修改选择图形组合参数
    context.fillStyle = "blue";
    context.fillRect(10, 10, 165, 165);
    context.globalCompositeOperation = oprtns[index]; // 设置图形组合方式
    context.beginPath();
    context.fillStyle = "red";
    context.arc(165, 165, 120, 0, Math.PI*2, false);
    context.fill();
    context.closePath();
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java后端技术

HTML标记语法之表格元素

8.直列化格式:<colgroup><colgroup>(<col>与<colgroup>的功能完全一样)

691
来自专栏林德熙的博客

WPF 等距布局

实际做的效果很简单,因为在开发我容易就用到了等距的控件。等距控件就是在指定的宽度下,平均把控件放在水平的地方,这样相等于 StackPanel 的水平,但是没有...

81
来自专栏地方网络工作室的专栏

css3 做一个会动的菜单 menu 按钮动画效果

css3 做一个会动的菜单 menu 按钮动画效果 需要做一个会的动画按钮效果,小前端部知道如何实现,我看了一眼需要的效果,给他写了一个简单的 demo。 设计...

20610
来自专栏前端黑板报

居中“魔法”总结

作为一个前端程序员,各种居中的需求会经常遇到,比如说文本居中,水平居中,垂直居中,浮动元素居中等等。掌握一些居中的常用方法也是作为前端攻城师必不可少的技能。 因...

19310
来自专栏Python研发

CSS,注意点!!!!!!!

4、用css给body标签加个 margin:0(用于消除body边框和浏览器间的空白部分)

793
来自专栏岑志军的专栏

HTML标签分类

2019
来自专栏Java后端技术

让div等块级元素水平以及垂直居中的解决办法

  我们在设计页面的时候,经常要把div等块级元素居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。我们传统解决的办法是用纯CSS来让d...

702
来自专栏小李刀刀的专栏

动态实现指定图片半透明及鼠标事件

说明:在不改变HTML代码的前提下,通过CSS和JavaScript,对指定的图片实现半透明效果。并为该图片添加鼠标滑过和滑出特效。 具体实现: 1.假设我们要...

2639
来自专栏xingoo, 一个梦想做发明家的程序员

编写兼容性JS代码

前文介绍了:  1 DOM四个常用的方法   2 使用DOM核心方法完成属性填充 本篇主要介绍在JS中需要注意的几个地方,另外为了减小html与jav...

1549
来自专栏GuZhenYin

MVC5学习系列--Razor视图(一)

前言 嗷~小弟我又出现了~咳咳..嚎过头了, 先说一说为什么写这个吧,~首先肯定是我自己需要学(废话 - -,)//,之前也写过MVC4的项目,嗯..但是仅限于...

1658

扫描关注云+社区