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

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.

主站蜘蛛池模板: 岢岚县| 集安市| 霍城县| 敖汉旗| 库伦旗| 灌南县| 灵山县| 贵阳市| 南陵县| 冷水江市| 凤翔县| 若尔盖县| 手机| 望都县| 东宁县| 德惠市| 阜新| 顺昌县| 那曲县| 酒泉市| 柳河县| 鄂尔多斯市| 开鲁县| 开鲁县| 博野县| 临颍县| 宽甸| 绩溪县| 水城县| 科尔| 文登市| 繁峙县| 新田县| 凤翔县| 右玉县| 枣阳市| 合阳县| 泰来县| 肇源县| 封丘县| 石渠县|