濮阳杆衣贸易有限公司

主頁 > 知識庫 > Canvas多邊形繪制的實(shí)現(xiàn)方法

Canvas多邊形繪制的實(shí)現(xiàn)方法

熱門標(biāo)簽:黃石ai電銷機(jī)器人呼叫中心 高德地圖標(biāo)注商戶怎么標(biāo) ok電銷機(jī)器人 地圖標(biāo)注軟件打印出來 電話機(jī)器人技術(shù) 如何查看地圖標(biāo)注 欣鼎電銷機(jī)器人 效果 智能電銷機(jī)器人被禁用了么 惡搞電話機(jī)器人

前言

Canvas繪制多變形非常簡單,只要懂得Canvas路徑 + 簡單的初中數(shù)學(xué)知識即可完成

CodePen打開

解析

思路如上,非常簡單,計(jì)算每一個(gè)點(diǎn)的位置通過lineTo()繪制路徑即可

核心代碼解析如下(或在CodePen中查看):

function drawPolygonPath(sideNum, radius, originX, originY, ctx){
  ctx.beginPath();
  const unitAngle = Math.PI * 2 / sideNum; //計(jì)算單元角度
  let angle = 0; //初始角度
  let xLength, yLength;
  // ctx.moveTo(originX, originY);
  for(let i = 0; i < sideNum; i++){ //遍歷計(jì)算點(diǎn),并lineTo()繪制路徑
    xLength = radius * Math.cos(angle);
    yLength = radius * Math.sin(angle);
    ctx.lineTo(originX + xLength, originY - yLength);//繪制路徑
    angle += unitAngle;
  }
  ctx.closePath();//閉合路徑,也可在for循環(huán)中多一次循環(huán)lineTo()至起點(diǎn)
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:綏化 盤錦 赤峰 中山 阿壩 聊城 萍鄉(xiāng) 金昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Canvas多邊形繪制的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  Canvas,多邊形,繪制,的,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Canvas多邊形繪制的實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Canvas多邊形繪制的實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    光山县| 贵溪市| 鄂托克前旗| 武山县| 离岛区| 沙雅县| 桑植县| 阜阳市| 治多县| 尤溪县| 阿克陶县| 盈江县| 新乐市| 保康县| 宾阳县| 金塔县| 乌恰县| 大新县| 平塘县| 博湖县| 周至县| 西贡区| 弥渡县| 宁城县| 吉木乃县| 科技| 巴马| 滦南县| 肇州县| 万载县| 宜黄县| 三明市| 兴国县| 行唐县| 邮箱| 宁南县| 双江| 金华市| 塘沽区| 娱乐| 柳林县|