当前位置: 首页 > news >正文

canvas练习画太阳花

// file name: demo.html
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>练习</title><style>#myCanvas {box-shadow: 6px 9px 80px 13px rgba(0,0,0,.65);margin: 50px 400px;}</style></head><body><canvas id="myCanvas" width="500" height="500"></canvas></body><script src="js/demo.js"></script>
</html>
// file name: demo.jsvar myCanvas = document.getElementById("myCanvas");
var ctx = myCanvas.getContext("2d");ctx.translate(250,250);
ctx.beginPath();
ctx.arc(0,0,20,0,Math.PI*2,false);
ctx.closePath();
ctx.strokeStyle = "red";
ctx.stroke();
var starAngle = 0;for(var i = 0;i < 12;i++){ctx.save();ctx.rotate(starAngle);starAngle += Math.PI/12;ctx.beginPath();ctx.moveTo(0,-100);ctx.quadraticCurveTo(-40,0,0,100);ctx.fillStyle = "green";ctx.fill();ctx.beginPath();ctx.moveTo(0,-100);ctx.quadraticCurveTo(40,0,0,100);ctx.fillStyle = "green";ctx.fill();ctx.restore();
}var starAngle = 0;
for(var i = 0;i < 12;i++){ctx.save();ctx.rotate(starAngle);starAngle += Math.PI/12;ctx.beginPath();ctx.moveTo(0,-100);ctx.quadraticCurveTo(-40,0,0,100);ctx.strokeStyle = "red";ctx.stroke();ctx.beginPath();ctx.moveTo(0,-100);ctx.quadraticCurveTo(40,0,0,100);ctx.strokeStyle = "red";ctx.stroke();ctx.restore();
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据增强:提升机器学习模型性能的利器
  • 【Python百日进阶-Web开发-FastAPI】Day805 - FastAPI的请求体
  • Debian 12上安装google chrome
  • 2024年最新版Vue3学习笔记
  • 使用Renesas R7FA8D1BH (Cortex®-M85)实现多功能UI
  • Scrapy爬虫框架 Pipeline 数据传输管道
  • 在 CentOS 8 上安装和部署 OpenSearch 2.17 的实战指南20240924
  • 鼎曼白茶贡眉:贮留芳香记忆,书写老茶传奇
  • 基于量子通讯进行安全认证
  • IPsec-Vpn
  • Flink 与 Kubernetes (K8s)、YARN 和 Mesos集成对比
  • 【vue3】vue3.3新特性真香
  • 为什么现在的LLM都是Decoder only的架构?
  • LeetCode 399. 除法求值
  • ssh 免密登陆服务器故障
  • Google 是如何开发 Web 框架的
  • [译]如何构建服务器端web组件,为何要构建?
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Go 语言编译器的 //go: 详解
  • JDK9: 集成 Jshell 和 Maven 项目.
  • js数组之filter
  • nginx 配置多 域名 + 多 https
  • 从重复到重用
  • 构建工具 - 收藏集 - 掘金
  • 如何进阶一名有竞争力的程序员?
  • 通过几道题目学习二叉搜索树
  • 温故知新之javascript面向对象
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 写给高年级小学生看的《Bash 指南》
  • 学习JavaScript数据结构与算法 — 树
  • 一份游戏开发学习路线
  • 异常机制详解
  • 云大使推广中的常见热门问题
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 正则表达式-基础知识Review
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #pragma data_seg 共享数据区(转)
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (C语言)逆序输出字符串
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (一)、python程序--模拟电脑鼠走迷宫
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .NET delegate 委托 、 Event 事件
  • .net framework4与其client profile版本的区别
  • .NET 解决重复提交问题
  • @RequestMapping 的作用是什么?
  • [1204 寻找子串位置] 解题报告
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]