The fill function

The fill function is used to draw a path onto the canvas (but not stroking it). To stroke the path you will need to use the stroke function. The order in which you call the fill and stroke functions does matter - by using the fill function after the stroke function the fill can obscure half of the stroke. This leads to your lines appearing thinner than the lineWidth setting. This can be desirable though - and it also may be avoided depending on what you do for anti-aliasing. If, for example, you translate by half a pixel before you do any drawing your lines will be drawn thinner and the fill will not overwrite half the line. You can see this by looking at the isPointInStroke demonstration. As you'll see half of the stroke is outside of the fill.


Arguments to the function

An example

Filling the default path:

<script>
    window.onload = function ()
    {
        var canvas  = document.getElementById("cvs");
        var context = canvas.getContext('2d');

        context.beginPath();
        context.rect(5,5,90,90);
        context.fill();
    }
</script>

Filling a Path2D object:

<script>
    window.onload = function ()
    {
        var canvas  = document.getElementById("cvs");
        var context = canvas.getContext('2d');

        var path = new Path2D();
        path.rect(5,5,90,90);
    
        context.fill(path);
    }
</script>

See also