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

Working with text

Almost all applications require some sort of text to effectively communicate something to the user. This recipe will show you how to draw a simple text string with an optimistic welcoming.

Working with text

How to do it...

Follow these steps to write text on the canvas:

  1. Define a 2D canvas context and set the text style:
    window.onload = function(){
        var canvas = document.getElementById("myCanvas");
        var context = canvas.getContext("2d");
        
        context.font = "40pt Calibri";
        context.fillStyle = "black";
  2. Horizontally and vertically align the text, and then draw it:
    // align text horizontally center
        context.textAlign = "center";
        // align text vertically center
        context.textBaseline = "middle";
        context.fillText("Hello World!", canvas.width / 2, 120);
    };
  3. 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 draw text with the HTML5 canvas, we can define the font style and size with the font property, the font color with the fillStyle property, the horizontal text alignment with the textAlign property, and the vertical text alignment with the textBaseline property. The textAlign property can be set to left, center, or right, and the textBaseline property can be set to top, hanging, middle, alphabetic, ideographic, or bottom. Unless otherwise specified, the textAlign property is defaulted to left, and the textBaseline property is defaulted to alphabetic.

There's more...

In addition to fillText(), the HTML5 canvas API also supports strokeText():

  context.strokeText("Hello World!", x, y);

This method will color the perimeter of the text instead of filling it. To set both the fill and stroke for HTML canvas text, you can use both the fillText() and the strokeText() methods together. It's good practice to use the fillText() method before the strokeText() method in order to render the stroke thickness correctly.

See also...

  • Drawing 3D text with shadows
  • Creating a mirror transform in Chapter 4
  • Drawing a simple logo and randomizing its position, rotation, and scale in Chapter 4
主站蜘蛛池模板: 临潭县| 石门县| 南丰县| 连州市| 桐梓县| 揭西县| 名山县| 涟源市| 鄂尔多斯市| 哈尔滨市| 威信县| 漳州市| 育儿| 封丘县| 宁夏| 灵武市| 博白县| 深泽县| 广州市| 宁强县| 鄂尔多斯市| 桃园县| 固镇县| 麻城市| 壤塘县| 甘泉县| 合肥市| 芦溪县| 南澳县| 临清市| 石门县| 鄢陵县| 青州市| 楚雄市| 措勤县| 昭觉县| 东宁县| 时尚| 临汾市| 梨树县| 虞城县|