官术网_书友最值得收藏!

Drawing transparent shapes

For applications that require shape layering, it's often desirable to work with transparencies. In this recipe, we will learn how to set shape transparencies using the global alpha composite.

Drawing transparent shapes

How to do it...

Follow these steps to draw a transparent circle on top of an opaque square:

  1. Define a 2D canvas context:
    window.onload = function(){
        var canvas = document.getElementById("myCanvas");
        var context = canvas.getContext("2d");
  2. Draw a rectangle:
        // draw rectangle
        context.beginPath();
        context.rect(240, 30, 130, 130);
        context.fillStyle = "blue";
        context.fill();
  3. Set the global alpha of the canvas using the globalAlpha property and draw a circle:
        // draw circle
        context.globalAlpha = 0.5; // set global alpha
        context.beginPath();
        context.arc(359, 150, 70, 0, 2 * Math.PI, false);
        context.fillStyle = "red";
        context.fill();
    }; 
  4. Embed the canvas tag inside the body of the HTML document:
    <canvas id="myCanvas" width="600" height="250" style="border:1px solid black;">
    </canvas>

How it works...

To set the opacity of a shape using the HTML5 canvas API, we can use the globalAlpha property:

context.globalAlpha=[value]

The globalAlpha property accepts any real number between 0 and 1. We can set the globalAlpha property to 1 to make shapes fully opaque, and we can set the globalAlpha property to 0 to make shapes fully transparent.

主站蜘蛛池模板: 乐昌市| 宝兴县| 当涂县| 绥阳县| 天门市| 环江| 芒康县| 新巴尔虎右旗| 抚远县| 元江| 河源市| 许昌县| 泉州市| 宜兴市| 辽中县| 铜梁县| 军事| 延川县| 兴国县| 留坝县| 安新县| 临桂县| 遵化市| 中卫市| 海原县| 崇阳县| 宽甸| 介休市| 衡阳县| 元氏县| 桂阳县| 曲阜市| 镇巴县| 穆棱市| 黎川县| 光泽县| 新和县| 唐山市| 桦川县| 潮州市| 汉川市|