日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html 画星星的坐标,如何通过html+css样式和js的方式实现星星图的效果?

發布時間:2024/1/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html 画星星的坐标,如何通过html+css样式和js的方式实现星星图的效果? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言

在瀏覽一些圖片網站的時候,經常會看到很多的漂亮的星空圖,比如,下面的圖片。其實這種星星圖片的效果,也可以通過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();

總結

以上是生活随笔為你收集整理的html 画星星的坐标,如何通过html+css样式和js的方式实现星星图的效果?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。