一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(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)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    54820
  • Canvas
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    11237
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    英語單詞學(xué)習頁面+單詞朗讀實現(xiàn) -- 【1】頁面實現(xiàn) ##HarmonyOS SDK AI##

    ?先看一下頁面效果 ? 整體頁面是一個比較簡潔的頁面,其中有兩個特色功能 對于例句中,能夠實現(xiàn)將當前的單詞從句子中進行識別并突出顯示 對于單詞和句子,可以進行朗讀,這個朗讀使用的是Core
    發(fā)表于 06-29 23:24

    ArkUI介紹

    的ArkTS語言,從組件、動畫和狀態(tài)管理三個維度提供UI繪制能力。 類Web開發(fā)范式:采用經(jīng)典的HML、CSS、JavaScript三段式開發(fā)方式,即使用HML標簽文件搭建布局、使用CSS文件描述
    發(fā)表于 06-24 06:41

    HarmonyOS實戰(zhàn):快遞信息時間軸效果實現(xiàn)

    前言 快遞信息時間軸在購物軟件中是必不可少的功能,通過時間軸可以展示快遞從發(fā)貨到派送的每一個環(huán)節(jié)。本篇文章通過代碼的形式詳細講解在鴻蒙日常開發(fā)中如何實現(xiàn)時間軸的效果。(篇尾附有完整源碼
    的頭像 發(fā)表于 06-09 16:05 ?166次閱讀
    HarmonyOS實戰(zhàn):快遞信息時間軸<b class='flag-5'>效果實現(xiàn)</b>

    CSS6404LS-LI PSRAM:高清語音識別設(shè)備的理想存儲器解決方案

    CSS6404LS-LI通過 >500MB/s帶寬、105℃高溫運行及μA級休眠功耗三重突破,成為高清語音設(shè)備的理想存儲器
    的頭像 發(fā)表于 06-04 15:45 ?176次閱讀
    <b class='flag-5'>CSS</b>6404LS-LI PSRAM:高清語音識別設(shè)備的理想存儲器解決方案

    基于衛(wèi)星圖像的智能定位系統(tǒng)軟件

    應(yīng)用中取得了顯著成效。例如,北京華盛恒輝和北京五木恒潤基于衛(wèi)星圖像的智能定位系統(tǒng)。這些成功案例為基于衛(wèi)星圖像的智能定位系統(tǒng)的推廣和應(yīng)用提供了有力支持。 一、核心功能 高精度定位:通過衛(wèi)星導(dǎo)航系統(tǒng)和高分辨率衛(wèi)星遙感
    的頭像 發(fā)表于 04-01 09:55 ?389次閱讀

    基于衛(wèi)星圖像的智能定位系統(tǒng)全面解析

    智慧華盛恒輝基于衛(wèi)星圖像的智能定位系統(tǒng),作為融合衛(wèi)星導(dǎo)航、圖像處理以及智能算法的前沿科技,在高精度定位領(lǐng)域表現(xiàn)卓越。下面為您全方位深入剖析該系統(tǒng)。 ? 一、系統(tǒng)架構(gòu)構(gòu)成 基于衛(wèi)星圖像的智能定位系統(tǒng)
    的頭像 發(fā)表于 03-31 16:55 ?377次閱讀

    前端響應(yīng)式設(shè)計全解析:打造適配多終端的頁面

    在移動互聯(lián)網(wǎng)時代,前端響應(yīng)式設(shè)計能讓網(wǎng)頁在不同設(shè)備上都有良好的展示效果。下面解析其實現(xiàn)方法。 使用 CSS 媒體查詢是基礎(chǔ)。媒體查詢可根據(jù)設(shè)備屏幕寬度、高度等條件,應(yīng)用不同的 CSS
    的頭像 發(fā)表于 01-17 14:23 ?463次閱讀

    Tailwind CSS v4.0發(fā)布首個Beta版本

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

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

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

    研發(fā)都應(yīng)該了解的如何在vite中接入現(xiàn)代化css工程化方案

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

    JS實現(xiàn)簡單的屏幕錄像機

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

    鴻蒙跨端實踐-JS虛擬機架構(gòu)實現(xiàn)

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

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

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

    雙軸測徑儀的四種樣式!

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

    PGA900能直接在CSS上編程嗎?

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