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

    浏览量

    56008
  • Canvas
    +关注

    关注

    0

    文章

    21

    浏览量

    11380
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    设备的状态监测可以通过哪些方式实现

    设备状态监测的核心是 通过 “硬件传感 + 软件自检 + 通信反馈 + 远程联动”,实现对设备 “健康状态、运行状态、安全状态” 的全维度感知 ,具体方式按监测对象和技术手段分类如下: 一、硬件部件
    的头像 发表于 11-07 09:44 500次阅读

    案例:使用MB992SK-B助力乐星图乐服Scenter大疆司空2专属服务器

    星图介绍武汉乐星图科技有限公司成立于2018年,是一家集实景三维集群建模计算系统研发、生产、销售与实景三维整体解决方案于一体的高新技术企业。武汉乐星图科技是DJI大疆行业应用生态合作伙伴,
    的头像 发表于 09-12 15:31 544次阅读
    案例:使用MB992SK-B助力乐<b class='flag-5'>星图</b>乐服Scenter大疆司空2专属服务器

    全新Arm Lumex CSS平台实现两位数性能提升

    Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称 Arm)今日宣布推出全新 Arm Lumex 计算子系统 (Compute Subsystem, CSS) 平台,这是一套专为旗舰级智能手机
    的头像 发表于 09-10 16:14 753次阅读
    全新Arm Lumex <b class='flag-5'>CSS</b>平台<b class='flag-5'>实现</b>两位数性能提升

    星图像智能合成系统全面解析

    星图像智能合成系统全面解析
    的头像 发表于 08-27 14:49 413次阅读
    卫<b class='flag-5'>星图</b>像智能合成系统全面解析

    Arm Zena CSS加速软件和芯片开发进程

    Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称 Arm)近期宣布推出 Arm Zena 计算子系统 (Compute Subsystems, CSS)。作为标准化且预先集成的计算平台
    的头像 发表于 08-25 16:22 1816次阅读

    中科曙光与中科星图在太空计算领域达成合作

    伴随空天信息产业的高速发展,太空计算正成为战略新兴技术高地。在此背景下,近日,中科曙光与中科星图在合肥“2025空天信息大会”上,签署了《太空计算领域的合作开发框架协议》。按协议,双方将围绕技术研发、太空算网建设等课题,共同推动“太空计算”技术创新与应用落地。
    的头像 发表于 07-11 10:56 917次阅读

    英语单词学习页面+单词朗读实现 -- 【1】页面实现 ##HarmonyOS SDK AI##

    ​先看一下页面效果 ​ 整体页面是一个比较简洁的页面,其中有两个特色功能 对于例句中,能够实现将当前的单词从句子中进行识别并突出显示 对于单词和句子,可以进行朗读,这个朗读使用的是Core
    发表于 06-29 23:24

    ArkUI介绍

    的ArkTS语言,从组件、动画和状态管理三个维度提供UI绘制能力。 类Web开发范式:采用经典的HML、CSS、JavaScript三段式开发方式,即使用HML标签文件搭建布局、使用CSS文件描述
    发表于 06-24 06:41

    HarmonyOS实战:快递信息时间轴效果实现

    前言 快递信息时间轴在购物软件中是必不可少的功能,通过时间轴可以展示快递从发货到派送的每一个环节。本篇文章通过代码的形式详细讲解在鸿蒙日常开发中如何实现时间轴的效果。(篇尾附有完整源码
    的头像 发表于 06-09 16:05 411次阅读
    HarmonyOS实战:快递信息时间轴<b class='flag-5'>效果实现</b>

    CSS6404LS-LI PSRAM:高清语音识别设备的理想存储器解决方案

    CSS6404LS-LI通过 >500MB/s带宽、105℃高温运行及μA级休眠功耗三重突破,成为高清语音设备的理想存储器
    的头像 发表于 06-04 15:45 490次阅读
    <b class='flag-5'>CSS</b>6404LS-LI PSRAM:高清语音识别设备的理想存储器解决方案

    基于卫星图像的智能定位系统软件

    应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润基于卫星图像的智能定位系统。这些成功案例为基于卫星图像的智能定位系统的推广和应用提供了有力支持。 一、核心功能 高精度定位:通过卫星导航系统和高分辨率卫星遥感
    的头像 发表于 04-01 09:55 798次阅读

    基于卫星图像的智能定位系统全面解析

    智慧华盛恒辉基于卫星图像的智能定位系统,作为融合卫星导航、图像处理以及智能算法的前沿科技,在高精度定位领域表现卓越。下面为您全方位深入剖析该系统。 ​ 一、系统架构构成 基于卫星图像的智能定位系统
    的头像 发表于 03-31 16:55 742次阅读

    异形拼接处理器可以实现效果

    异形拼接处理器可以实现效果非常多样化和创新,以下是对其可实现效果的进一步补充: 一、创意拼接显示 1、任意角度拼接:异形拼接处理器支持0~360度任意角度的拼接显示,使得显示屏可以以
    的头像 发表于 03-21 12:39 515次阅读
    异形拼接处理器可以<b class='flag-5'>实现</b>的<b class='flag-5'>效果</b>

    AWTK-WEB 快速入门(4) - JS Http 应用程序

    导读XMLHttpRequest改变了Web应用程序与服务器交换数据的方式,fetch是其继任者。本文介绍一下如何使用JS语言开发AWTK-WEB应用程序,并用fetch访问远程数据。用AWTKDesigner新建一个应用程
    的头像 发表于 01-22 11:31 737次阅读
    AWTK-WEB 快速入门(4) - <b class='flag-5'>JS</b> Http 应用程序

    前端响应式设计全解析:打造适配多终端的页面

    在移动互联网时代,前端响应式设计能让网页在不同设备上都有良好的展示效果。下面解析其实现方法。 使用 CSS 媒体查询是基础。媒体查询可根据设备屏幕宽度、高度等条件,应用不同的 CSS
    的头像 发表于 01-17 14:23 652次阅读