天天看点

29行代码使用HTML5 Canvas API绘制一颗红心

源代码:

<html>

<div style="width:200px;height:200px;"id="cloud">test canvas</div>
<canvas style="display:none;"id="can"width="200"height="200"></canvas>
<script>(function() {
    var canvas = document.getElementById('can'), context;

    if(!canvas.getContext) {
        alert('你的浏览器不支持 canvas!');
        return;
    }
    context = canvas.getContext('2d');
    context.fillStyle = 'red';
    context.beginPath();
    context.moveTo(75,40);
    context.bezierCurveTo(75,37,70,25,50,25);
    context.bezierCurveTo(20,25,20,62.5,20,62.5);
    context.bezierCurveTo(20,80,40,102,75,120);
    context.bezierCurveTo(110,102,130,80,130,62.5);
    context.bezierCurveTo(130,62.5,130,25,100,25);
    context.bezierCurveTo(85,25,75,37,75,40);
    context.fill();

    var url = context.canvas.toDataURL();
    
    document.getElementById('cloud').style.backgroundImage = 'url("' + url + '")';
})();
</script>
</html>      

效果如下:

29行代码使用HTML5 Canvas API绘制一颗红心

实现原理:

29行代码使用HTML5 Canvas API绘制一颗红心

继续阅读