首頁 > web前端 > html教學 > 谁用html5 canvas画过五角星啊_html/css_WEB-ITnose

谁用html5 canvas画过五角星啊_html/css_WEB-ITnose

WBOY
發布: 2016-06-24 12:16:06
原創
1034 人瀏覽過

//画五角星function draw11(id) {    var myCanvas = document.getElementById(id);    var context = myCanvas.getContext("2d");    //创建五角星    var shape = {};    shape.star = function (l) {        var rad1 = Math.sin(0.4 * Math.PI);     //sin(72)        var rad2 = Math.cos(0.4 * Math.PI);	  //cos(72)        var rad3 = Math.sin(0.2 * Math.PI);	  //sin(36)        var rad4 = Math.cos(0.2 * Math.PI);	  //cos(36)        with (context) {            moveTo(0, -l * rad1);            lineTo(l * rad2, -10);            lineTo(l + l * rad2, 0);            lineTo(l * rad2 + 2 * l * rad2 * rad2, l * rad3);            lineTo(l * rad4, 2 * l * rad1 * rad1 - l * rad1 + l * rad3);            lineTo(0, 2 * l * rad1 * rad1 - l * rad1);            lineTo(-l * rad4, 2 * l * rad1 * rad1 - l * rad1 + l * rad3);            lineTo(-l * rad2 - 2 * l * rad2 * rad2, l * rad3);            lineTo(-l - l * rad2, 0);            lineTo(-l * rad2, 0);            lineTo(0, -l * rad1);        }    }      // context.translate(10, 10);    context.beginPath();    //context.scale(1, 1);    //context.rotate(5);    //context.translate(-100, -100);    shape.star(30);    context.fillStyle = "red";    context.fill();    context.strokeStyle = "black";   context.stroke();    }
登入後複製



这是我在网上找的一个例子,下面那些scale和translate 我都去掉了,因为在一个canvas中重复画的时候会出现偏移。

我的目的是想得到一个五角星,在这个canvas的中间显示,不论我重复画多少次,都要在同一个位置。

求大神帮我看看


回复讨论(解决方案)

问题已经解决,来个人接分

等着接分

接分来看看,怎么解决的。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板