溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

前端中如何使用canvas繪制太極圖

發(fā)布時間:2022-02-23 15:45:59 來源:億速云 閱讀:164 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“前端中如何使用canvas繪制太極圖”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“前端中如何使用canvas繪制太極圖”文章能幫助大家解決問題。

css樣式代碼:

.animation{
  width: 800px;
  height: 800px;
  border: 1px solid #000;
}
#canvas{
  animation: rotate 6s linear infinite;  
}
/* 給太極圖設置旋轉動畫 */
@keyframes rotate{
  0%{
    transform: none;
  }
  100%{
    transform: rotate(360deg);
  }
}

javascript代碼:

//文檔加載完畢后執(zhí)行函數(shù)
window.onload = function(){
  //獲取畫布對象
  var canvas = document.getElementById('canvas');
  //獲取上下文對象
  var context = canvas.getContext('2d');
  //圓開始路徑
  context.beginPath();
  //繪制最外層的大圓(黑色)
  context.arc(400, 400, 300, Math.PI / 180 * 0, Math.PI / 180 * 360);
  //將大圓填充為黑色
  context.fillStyle = '#000';
  context.fill();
  //繪制左半圓(白色)
  context.beginPath();
  context.arc(400, 400, 300, Math.PI / 180 * 90, Math.PI / 180 * 270);
  context.fillStyle = '#fff';
  context.fill(); 
  //繪制右半圓(黑色),會覆蓋外層大圓,顏色一樣。所以寫不寫都可以
  /* context.beginPath();
  context.arc(400, 400, 300, Math.PI / 180 * 270, Math.PI / 180 * 90);
  context.fillStyle = '#000';
  context.fill(); */
  //繪制左上半圓(黑色)
  context.beginPath();
  context.arc(400, 250, 150, Math.PI / 180 * 90, Math.PI / 180 * 270);
  context.fillStyle = '#000';
  context.fill(); 
  //繪制右下半圓(白色)
  context.beginPath();
  context.arc(400, 550, 150, Math.PI / 180 * 270, Math.PI / 180 * 90);
  context.fillStyle = '#fff';
  context.fill(); 
  //繪制左上小半圓(白色)
  context.beginPath();
  context.arc(400, 250, 35, Math.PI / 180 * 0, Math.PI / 180 * 360);
  context.fillStyle = '#fff';
  context.fill(); 
  //繪制右下小半圓(黑色)
  context.beginPath();
  context.arc(400, 550, 35, Math.PI / 180 * 0, Math.PI / 180 * 360);
  context.fillStyle = '#000';
  context.fill(); 
}

html代碼:

<div class="animation">
    <canvas id="canvas" width="800" height="800"></canvas>
  </div>

關于“前端中如何使用canvas繪制太極圖”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI