canvas實(shí)現(xiàn)星星圖案——尖角星星

0.前因

最近要用canvas做一個(gè)星星圖案,網(wǎng)上找了一下敏释,發(fā)現(xiàn)有現(xiàn)成的代碼

http://www.php.cn/html5-tutorial-353336.html
https://www.cnblogs.com/wufangfang/p/6373972.html
這個(gè)鏈接講的很清楚其中的數(shù)學(xué)原理

懶得看的同學(xué),我下面簡(jiǎn)單解釋一下:(圖是從上面鏈接里面借的~)

1.原理:
兩個(gè)圓確定一個(gè)星星.jpg
2.涉及到的知識(shí)點(diǎn):
兩個(gè)大小不同的同心圓边器,可以確定一種星星的樣子

角度轉(zhuǎn)弧度
角度/180*Math.PI

外頂點(diǎn)坐標(biāo) 
x:  Math.cos( (18+72*i)/180*Math.PI) * R
y:  Math.sin((18+72*i)/180*Math.PI) * R

內(nèi)頂點(diǎn)坐標(biāo) 
x:  Math.cos( (54+72*i)/180*Math.PI) * r
y:  Math.sin((54+72*i)/180*Math.PI) * r
3.實(shí)現(xiàn)一個(gè)大小形狀可調(diào)的星星代碼:
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
//設(shè)置邊框樣式以及填充顏色   
ctx.lineWidth = 3;
ctx.fillStyle = "red";
ctx.strokeStyle = "blue";

// (x,y)起始位置 R外圓半徑 r小圓半徑  rot初始旋轉(zhuǎn)角度
var x = 100, y = 100, R = 100, r = 50, rot = 0;

function drawStar(cxt, R, r, x, y, rot) {
  cxt.beginPath();
  for (var i = 0; i < 5; i++) {
    cxt.lineTo(Math.cos((18 + 72 * i - rot) / 180 * Math.PI) * R + x, -Math.sin((18 + 72 * i - rot) / 180 * Math.PI) *
      R + y);
    cxt.lineTo(Math.cos((54 + 72 * i - rot) / 180 * Math.PI) * r + x, -Math.sin((54 + 72 * i - rot) / 180 * Math.PI) *
      r + y);
  }
  cxt.closePath();
  ctx.fill();
  ctx.stroke();
}
drawStar(ctx, R, r, x, y, rot)
4.效果圖
尖角星星
5.通過(guò)調(diào)節(jié)R和r的值赏淌,來(lái)得到不同形狀的星星

有一些已經(jīng)不是五角星了,多試試有驚喜~

環(huán)肥燕瘦框沟,任君挑選??
6.然鵝,我這邊需要圓角版的星星增炭,以上不符合要求....
圓角版星星
7.圓角另起一篇文章寫(xiě)吧~

鏈接:http://www.reibang.com/p/84a9e1b8e889

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末忍燥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子隙姿,更是在濱河造成了極大的恐慌梅垄,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件输玷,死亡現(xiàn)場(chǎng)離奇詭異队丝,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)欲鹏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)机久,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人赔嚎,你說(shuō)我怎么就攤上這事膘盖‰食冢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵侠畔,是天一觀的道長(zhǎng)结缚。 經(jīng)常有香客問(wèn)我,道長(zhǎng)践图,這世上最難降的妖魔是什么掺冠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮码党,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘斥黑。我一直安慰自己揖盘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布锌奴。 她就那樣靜靜地躺著兽狭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鹿蜀。 梳的紋絲不亂的頭發(fā)上箕慧,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音茴恰,去河邊找鬼颠焦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛往枣,可吹牛的內(nèi)容都是我干的伐庭。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼分冈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼圾另!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起雕沉,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤集乔,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后坡椒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體扰路,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年肠牲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了幼衰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缀雳,死狀恐怖渡嚣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤识椰,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布绝葡,位于F島的核電站,受9級(jí)特大地震影響腹鹉,放射性物質(zhì)發(fā)生泄漏藏畅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一功咒、第九天 我趴在偏房一處隱蔽的房頂上張望愉阎。 院中可真熱鬧,春花似錦力奋、人聲如沸榜旦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)溅呢。三九已至,卻和暖如春猿挚,著一層夾襖步出監(jiān)牢的瞬間咐旧,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工绩蜻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铣墨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓辜羊,卻偏偏與公主長(zhǎng)得像踏兜,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子八秃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 目錄介紹 1.Paint畫(huà)筆介紹1.1 圖形繪制1.2 文本繪制 2.Canvas畫(huà)布介紹2.1 設(shè)置屬性2.2 ...
    楊充211閱讀 1,636評(píng)論 0 7
  • 一:canvas簡(jiǎn)介 1.1什么是canvas纳本? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,674評(píng)論 2 32
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 6,376評(píng)論 0 17
  • 感恩奇跡第162天:感恩是愛(ài)的頂點(diǎn)腋颠,感恩是極樂(lè)繁成,感恩是王中王,感恩是通往真我的管道淑玫,感恩是最棒的祈禱和祝福巾腕,感恩是...
    豐盛富足閱讀 115評(píng)論 0 1
  • 創(chuàng)辦公眾號(hào)號(hào)的最初目的是為了興趣和履歷面睛。沐雨軒創(chuàng)立了一年,發(fā)過(guò)的文章也不過(guò)二十來(lái)篇尊搬,比起一個(gè)正常的公眾號(hào)叁鉴,實(shí)在是不...
    沐雨軒閱讀 171評(píng)論 0 0