canvas实现椭圆最易理解版本

2017-04-01  本文已影响0人  是素净呀丶

复习了一下canvas的基础,来看看怎样用arc实现一个椭圆的绘制吧。

html

<style type="text/css">
    #canvas{ backgroud-color: #eee; }
</style>
<canvas id="canvas" width="400" height="400"></canvas>

js

function drawEllipse(ctx, x, y, rx, ry)
{
    var r = Math.min(rx, ry),
        scale_x = rx / r,
        scale_y = ry / r;

    ctx.save();
    ctx.scale(scale_x, scale_y);

    ctx.beginPath();
    ctx.arc(x / scale_x, y / scale_y, r, 0, Math.PI * 2, true);
    ctx.closePath();
    ctx.stroke();

    ctx.restore();
}

(function()
{
    var canvas = document.querySelector('#canvas'),
        cxt    = canvas.getContext('2d');

    drawEllipse(cxt, 100, 100, 50, 80);
})()

原理 && summary

上一篇 下一篇

猜你喜欢

热点阅读