为了账号安全,请及时绑定邮箱和手机立即绑定

在同一个canvas里显示多个图形

在同一个canvas里显示多个图形

撒科打诨 2018-10-04 14:28:32
代码:html:<canvas id="canvas1" width="800" height="150" style="border: 1px solid #ccc"></canvas> <script src="js/close.js" type="text/javascript"></script>js:function $$(id) {    return document.getElementById(id);}//绘制正多边形的封装函数window.onload = function () {    var cnv1 = $$("canvas1");    var cxt1 = cnv1.getContext("2d");    createPolygon(cxt1,3,300,75,50);    createPolygon(cxt1,4,400,75,50);    createPolygon(cxt1,5,500,75,50);    createPolygon(cxt1,6,600,75,50);    cxt1.fillStyle = "HotPink";    cxt1.fill();}//n - 表示n边形;dx、dy - 中心坐标;size - 表示n边形的大小function createPolygon(cxt, n, dx, dy, size) {    cxt.beginPath();    var degree = (2 * Math.PI) / n;    for(var i=0;i<n;i++){        var x = Math.cos(i * degree);        var y = Math.sin(i * degree);        cxt.lineTo(x * size + dx,y * size + dy);    }    cxt.closePath();}怎么可以让这几个多边形在同一个canvas里显示?求解答,谢谢。
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

填充了才是图形,你光画线有什么用


查看完整回答
反对 回复 2018-10-26
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

function $$(id) {

    return document.getElementById(id);

}


//绘制正多边形的封装函数

window.onload = function () {

    var cnv1 = $$("canvas1");

    var cxt1 = cnv1.getContext("2d");

    cxt1.fillStyle = "HotPink";

    createPolygon(cxt1,3,300,75,50);

    createPolygon(cxt1,4,400,75,50);

    createPolygon(cxt1,5,500,75,50);

    createPolygon(cxt1,6,600,75,50);

}


//n - 表示n边形;dx、dy - 中心坐标;size - 表示n边形的大小

function createPolygon(cxt, n, dx, dy, size) {

      cxt.beginPath();

    var degree = (2 * Math.PI) / n;

    for(var i=0;i<n;i++){

        var x = Math.cos(i * degree);

        var y = Math.sin(i * degree);

        cxt.lineTo(x * size + dx,y * size + dy);

    }

    cxt.closePath();

    cxt.fill();

}


查看完整回答
反对 回复 2018-10-26
  • 2 回答
  • 0 关注
  • 1392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信