那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何通過html+css樣式和js的方式實現星星圖的效果

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 18:13 ? 次閱讀

一、前言

在瀏覽一些圖片網站的時候,經常會看到很多的漂亮的星空圖,比如,下面的圖片。其實這種星星圖片的效果,也可以通過html+css樣式和js的方式來實現。今天教大家如何實現星星圖的效果。

二、項目準備

軟件:Dreamweaver

三、實現的目標

每次刷新產生隨機的星星個數。顯示畫布上。

四、項目實現

1. 創建canvas畫布<body> <canvas id='canvas'></canvas></body>2. 添加css樣式。

給canva 畫布加上邊框,方便觀察。

<style type="text/css"> canvas{ border:2px solid #f00;}</style>3.添加js樣式
3.1 設置canvas畫布大小 ,定義需要變量。<script type="text/javascript"> var _canvas=document.getElementById("canvas") _canvas.width=500; _canvas.height=500;var r,g ,b,a;</script>3.2 產生隨機圓。
for (var j = 0; j < 150; j++) { arc.x=Math.floor(Math.random()*_canvas.width); arc.y=Math.floor(Math.random()*_canvas.height); arc.r=Math.floor(Math.random()*31+10); r=Math.ceil(Math.random()*256); g=Math.ceil(Math.random()*256); b=Math.ceil(Math.random()*256); a=Math.random();
darw();}3.3 定義draw()方法,通過畫星星公式,將圓形轉換成星星狀 for 循環產生隨機位置星星。

如何畫星星?(公式解析)(圖片來源百度)

星星有內切圓和外切圓,每兩個點之間的角度是固定的,因此可得到星星的每個點的坐標,畫出星星。

隨機產生星星for (var i = 0; i < 5; i++) {
_ctx.lineTo(Math.cos((18+72*i)/180*Math.PI)*arc.r+arc.x, -Math.sin((18+72*i)/180*Math.PI)*arc.r+arc.y);
_ctx.lineTo(Math.cos((54+72*i)/180*Math.PI)*arc.r/2+arc.x, -Math.sin((54+72*i)/180*Math.PI)*arc.r/2+arc.y); }3.4 隨機產生顏色。

Math函數隨機產生0-225的RGB值。

隨機顏色 _ctx.fillStyle="rgba(" + r + "," + g + "," + b + "," + a + ")"; _ctx.fill(); _ctx.strokeStyle="rgba(" + r + "," + g + "," + b + "," + a + ")"; _ctx.stroke(); }3.5. 調用draw()方法實現功能。
darw();


審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • javascript
    +關注

    關注

    0

    文章

    525

    瀏覽量

    53945
  • Canvas
    +關注

    關注

    0

    文章

    16

    瀏覽量

    11015
收藏 人收藏

    評論

    相關推薦

    前端響應式設計全解析:打造適配多終端的頁面

    在移動互聯網時代,前端響應式設計能讓網頁在不同設備上都有良好的展示效果。下面解析其實現方法。 使用 CSS 媒體查詢是基礎。媒體查詢可根據設備屏幕寬度、高度等條件,應用不同的 CSS
    的頭像 發表于 01-17 14:23 ?103次閱讀

    Tailwind CSS v4.0發布首個Beta版本

    Tailwind CSS 是一個為快速開發而精心設計的原子類 CSS 框架,它提供了充滿設計感和應用程序至上的能力來創建組件,它在最新的 2.0 版本中加入了暗黑模式,開箱即用。
    的頭像 發表于 11-25 10:02 ?267次閱讀
    Tailwind <b class='flag-5'>CSS</b> v4.0發布首個Beta版本

    Taro 鴻蒙技術內幕系列(二):如何讓 W3C 標準的 CSS跑在鴻蒙上

    HarmonyOS 采用自研的 ArkUI 框架作為原生 UI 開發方案,這套方案有完善的布局系統和樣式控制,但是他的標準與 W3C 的 CSS 標準存在不一致性。這意味著,如果 Taro 直接
    的頭像 發表于 10-31 10:54 ?214次閱讀
    Taro 鴻蒙技術內幕系列(二):如何讓 W3C 標準的 <b class='flag-5'>CSS</b>跑在鴻蒙上

    研發都應該了解的如何在vite中接入現代化css工程化方案

    好的css工程化方案可以增強我們項目的可維護性、提高樣式的復用性、進行自動化處理等,在提高頁面加載速度和性能的同時,我們可以有更多的精力進行js邏輯的處理。
    的頭像 發表于 10-25 17:25 ?442次閱讀

    JS實現簡單的屏幕錄像機

    作者:京東保險 張潔 本文將介紹如何用JS實現簡單的屏幕錄像機。 一、錄制準備 創建一個按鈕 ? Start recording ? 書寫JavaScript ? var
    的頭像 發表于 10-09 15:27 ?182次閱讀

    鴻蒙跨端實踐-JS虛擬機架構實現

    類似的框架,我們需要自行實現以確保核心基礎能力的完整。 鴻蒙虛擬機的開發經歷了從最初 ArkTs2V8 到 JSVM + Roma新架構方案 。在此過程中,我們實現了完整的鴻蒙版的“J2V8”和 基于系統JSVM的JS虛擬機框架
    的頭像 發表于 09-30 14:42 ?2518次閱讀
    鴻蒙跨端實踐-<b class='flag-5'>JS</b>虛擬機架構<b class='flag-5'>實現</b>

    推薦一個支持js的嵌入式設備開發平臺

    可以通過vscode開發js,實時推送js代碼到設備里運行,無需編譯,支持屏幕,感興趣的可以看看 https://github.com/duoxianwulian/dxdop 提供很多js
    發表于 09-04 14:04

    雙軸測徑儀的四種樣式

    儀設計了四種外觀樣式。 45°角布置的開口測徑儀 這個樣式的雙軸測徑儀是目前大部分產線所使用的,樣式簡單大氣。用于外徑及橢圓度尺寸的檢測。 45°角布置的閉口測徑儀 該樣式的雙軸測徑儀
    發表于 08-27 17:42

    PGA900能直接在CSS上編程嗎?

    您好,PGA900能直接在CSS上編程嗎? 可以通過XDS200下載程序到PGA900上面嗎?
    發表于 08-08 07:31

    bootstrap框架和vue框架的區別

    響應式移動優先的網頁。Bootstrap的核心設計理念是“移動優先”,即優先考慮移動設備的顯示效果,然后通過媒體查詢等技術實現對不同設備的適配。Bootstrap提供了一套豐富的CSS
    的頭像 發表于 07-11 09:55 ?985次閱讀

    芯海應用筆記:CSS34P16P(A)型應用說明文檔

    Type-C 和 USB 供電端口控制解決方案。芯片可根據用戶需求靈活配置,操作簡便, 可快速實現方案功能。*附件:CSS34P16應用說明文檔.pdf
    發表于 05-16 14:46

    OpenHarmony實戰開發-menu開發指導

    3</option> </menu> </div> html /* xxx.css */ .container
    發表于 04-30 14:41

    OpenHarmony實戰開發-switch開發指導

    ;gt;</switch> </div> html /* xxx.css */ .container { flex-direction
    發表于 04-30 14:08

    Arm新Arm Neoverse計算子系統(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Arm宣布了兩款新的Arm Neoverse計算子系統(CSS),它們基于“迄今為止最好的一代Neoverse技術”。是什么讓這些新產品在擁擠的計算技術領域脫穎而出? Arm的兩個新Arm
    的頭像 發表于 04-24 17:53 ?1189次閱讀
    Arm新Arm Neoverse計算子系統(<b class='flag-5'>CSS</b>):Arm Neoverse <b class='flag-5'>CSS</b> V3和Arm Neoverse <b class='flag-5'>CSS</b> N3

    HarmonyOS開發實例:【圖片編輯應用】

    通過動態設置元素樣式方式實現幾種常見的圖片操作,包括裁剪、旋轉、縮放和鏡像。
    的頭像 發表于 04-23 09:42 ?518次閱讀
    HarmonyOS開發實例:【圖片編輯應用】
    网上百家乐官网靠谱吗| 基础百家乐的玩法技巧和规则 | 百家乐官网路单之我见| 百家乐官网下载游戏| 宝博娱乐城开户| 利澳娱乐城官方网| 赌球心得| 百家乐官网取胜秘笈| 兴安县| 宾阳县| 博湖县| 百家乐官网怎么下注能赢| 百家乐官网平注法攻略| 澳门百家乐官网海星王| 威尼斯人娱乐上网导航| 大发888网站是多少呢| 德州扑克官方下载| 太阳城开户网| 锡林浩特市| 百家乐官网有无规律可循| 百家乐官网最新产品| 百家乐官网种类| 百家乐秘| 大发888娱乐场是真是假| 宜宾县| 百家乐官网桌布尼布材质| 百家乐官网看图赢钱| 澳门百家乐玩法与游戏规则| 御匾会百家乐娱乐城| 云博娱乐城,| 阜平县| 机器百家乐官网作弊| 百家乐白菜价| 大发8887s88| 皇家赌场下载| 百家乐官网园鼎盛娱乐场| 做生意什么花风水好| 新濠百家乐娱乐场| 惠安县| 网上百家乐官网试玩网址| 威尼斯人娱乐网|