Heim >Web-Frontend >HTML-Tutorial >谁用html5 canvas画过五角星啊_html/css_WEB-ITnose

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

WBOY
WBOYOriginal
2016-06-24 12:16:061055Durchsuche

//画五角星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的中间显示,不论我重复画多少次,都要在同一个位置。

求大神帮我看看


回复讨论(解决方案)

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

等着接分

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn