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

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.

主站蜘蛛池模板: 临武县| 临夏县| 桂东县| 余江县| 浮梁县| 新绛县| 怀柔区| 新安县| 芦溪县| 罗江县| 萨迦县| 嵊州市| 禄劝| 龙胜| 资中县| 太湖县| 白沙| 丰镇市| 乌拉特中旗| 乡宁县| 洪泽县| 临沭县| 南安市| 九台市| 三江| 颍上县| 余姚市| 荃湾区| 岳池县| 汝城县| 嵊泗县| 阿克| 雷州市| 花莲县| 始兴县| 南陵县| 潞西市| 响水县| 古浪县| 莒南县| 蒲城县|