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

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

3天內(nèi)不再提示

如何通過html+css樣式和js的方式實現(xiàn)星星圖的效果

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

一、前言

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

二、項目準備

軟件:Dreamweaver

三、實現(xiàn)的目標

每次刷新產(chǎn)生隨機的星星個數(shù)。顯示畫布上。

四、項目實現(xiàn)

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

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

<style type="text/css"> canvas{ border:2px solid #f00;}</style>3.添加js樣式
3.1 設(shè)置canvas畫布大小 ,定義需要變量。<script type="text/javascript"> var _canvas=document.getElementById("canvas") _canvas.width=500; _canvas.height=500;var r,g ,b,a;</script>3.2 產(chǎn)生隨機圓。
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()方法,通過畫星星公式,將圓形轉(zhuǎn)換成星星狀 for 循環(huán)產(chǎn)生隨機位置星星。

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

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

隨機產(chǎn)生星星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 隨機產(chǎn)生顏色。

Math函數(shù)隨機產(chǎn)生0-225的RGB值。

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


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

    關(guān)注

    0

    文章

    515

    瀏覽量

    53656
  • Canvas
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    10959
收藏 人收藏

    評論

    相關(guān)推薦

    推薦一個支持js的嵌入式設(shè)備開發(fā)平臺

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

    bootstrap框架和vue框架的區(qū)別

    響應式移動優(yōu)先的網(wǎng)頁。Bootstrap的核心設(shè)計理念是“移動優(yōu)先”,即優(yōu)先考慮移動設(shè)備的顯示效果,然后通過媒體查詢等技術(shù)實現(xiàn)對不同設(shè)備的適配。Bootstrap提供了一套豐富的CSS
    的頭像 發(fā)表于 07-11 09:55 ?442次閱讀

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

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

    鴻蒙ArkTS的起源和簡介

    交互問題,它和HTML(負責頁面內(nèi)容)、CSS(負責頁面布局和樣式)共同組成了Web頁面/應用開發(fā)的基礎(chǔ)。隨著Web和瀏覽器的普及,以及Node.js進一步將
    發(fā)表于 01-16 16:23

    Facebook開源StyleX如何在JavaScript中寫CSS呢?

    Meta(原 Facebook)開源了全新的 CSS-in-JS 庫 StyleX。
    的頭像 發(fā)表于 12-14 10:03 ?540次閱讀

    javascript屬于前端嗎

    和動態(tài)性。 JavaScript通常被認為是前端開發(fā)的基礎(chǔ)。前端開發(fā)包括網(wǎng)頁的設(shè)計和開發(fā),以及通過HTML、CSS和JavaScript來實現(xiàn)網(wǎng)頁的用戶界面和交互。
    的頭像 發(fā)表于 12-03 11:43 ?1246次閱讀

    placeholder樣式設(shè)置

    在網(wǎng)頁設(shè)計中,placeholder樣式設(shè)置是一個重要的細節(jié),能夠提升用戶體驗并增加頁面的美觀度。本文將詳細解析placeholder樣式設(shè)置的相關(guān)知識,并提供一些實用的技巧和方法。 一
    的頭像 發(fā)表于 11-30 10:33 ?1048次閱讀

    如何設(shè)置placeholder的樣式

    要設(shè)置placeholder(占位符)的樣式,可以使用CSS樣式實現(xiàn)。以下是一些常用的方法: 使用::placeholder偽元素: 可以使用 ::placeholder 偽元素選擇
    的頭像 發(fā)表于 11-30 10:20 ?4917次閱讀

    js文件可以直接瀏覽器運行嗎

    載和運行。 在Web開發(fā)中,JS常被用于實現(xiàn)動態(tài)交互效果和頁面邏輯控制。通過JS代碼嵌入到網(wǎng)頁的HTM
    的頭像 發(fā)表于 11-27 16:45 ?3179次閱讀

    怎么用js保存數(shù)據(jù)

    JS保存數(shù)據(jù)是Web開發(fā)中非常重要的一個功能,它能夠?qū)⒂脩舻妮斎牖蛘咂渌麛?shù)據(jù)存儲在瀏覽器中,隨后方便地讀取和使用。在本文中,我們將討論不同的數(shù)據(jù)保存方式以及如何使用JS在客戶端中實現(xiàn)數(shù)
    的頭像 發(fā)表于 11-27 16:10 ?807次閱讀

    javaweb是前端還是后端

    前端技術(shù)可以實現(xiàn)頁面的美化、動態(tài)效果實現(xiàn)、數(shù)據(jù)的展示與處理等功能。常用的JavaWeb前端技術(shù)包括HTML、CSS、JavaScript、
    的頭像 發(fā)表于 11-16 10:51 ?2367次閱讀

    在 HarmonyOS 上實現(xiàn) ArkTS 與 H5 的交互

    入口(rawfile文件夾中存放html) └──rawfile ├──js │└──mainPage.js// H5調(diào)用函數(shù)文件 ├──css │└──main.
    發(fā)表于 11-13 17:08

    Python調(diào)用JS的 4 種方式

    的 Python 實現(xiàn) 本文將聊聊利用 Python 調(diào)用 JS 的4種方式 2. 準備 以一段簡單的 JS 腳本為例,將代碼寫入到文件中 //norm.
    的頭像 發(fā)表于 10-30 09:41 ?566次閱讀

    html文件轉(zhuǎn)換成pdf示例

    .openhtmltopdf openhtmltopdf -core 1 . 0 . 6 com .openhtmltopdf openhtmltopdf -pdfbox 1 . 0 . 6 jsoup可以將html文件轉(zhuǎn)換成輸入流等,也可以遍歷html的DOM節(jié)點,提
    的頭像 發(fā)表于 10-09 16:03 ?1317次閱讀
    將<b class='flag-5'>html</b>文件轉(zhuǎn)換成pdf示例

    幾種去除HTML的方法

    解析的方法。 使用正則表達式 通過爬蟲爬到的HTML內(nèi)容,從程序角度來講,就是一個字符串。我們可以對其按照純文本處理的方式來處理。 我們在做文本處理的時候,第一個想到的就是正則表達式。從一個字符串中刪除
    的頭像 發(fā)表于 09-25 15:49 ?1066次閱讀