ホームページ > ウェブフロントエンド > htmlチュートリアル > html5 キャンバスを使用して五芒星を描いたのは誰ですか_html/css_WEB-ITnose

html5 キャンバスを使用して五芒星を描いたのは誰ですか_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 12:16:06
オリジナル
1033 人が閲覧しました

//画五角星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();    }
ログイン後にコピー



これはオンラインで見つけた例で、キャンバス内で繰り返し描画するとオフセットが発生するため、スケールを削除して以下に翻訳します。

私の目標は、何度描いても同じ位置に五芒星が表示されるようにすることです。

助けてください


ディスカッションに返信(解決策)

問題は解決しました。個人的に質問に答えに来てください

答えを待っています

答えを見て、解決方法を見てみましょう。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート