canvas 绘制笑脸、哭脸

news/2024/12/29 18:13:58/

html文件如下:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Smiling</title><style type="text/css"></style></head><body><canvas id="canvas" width='640' height='480'>Your browser does not support the HTML5 canvas tag.</canvas><script>var app = document.getElementById("canvas");canvas.onmouseover = function() {Crying();}canvas.onmouseout = function() {smile();}function Crying() {var c = document.getElementById("canvas");var ctx = c.getContext("2d"); //绘制2d;var grd = ctx.createRadialGradient(320, 240, 150, 320, 240, 200);grd.addColorStop(0, "red");grd.addColorStop(1, "white");ctx.fillStyle = grd;ctx.strokeStyle = 'black';ctx.beginPath();ctx.arc(320, 240, 200, 0, 2 * Math.PI);ctx.fill();ctx.stroke();ctx.closePath();ctx.beginPath();ctx.arc(240, 175, 30, 0, 2 * Math.PI);ctx.stroke();ctx.closePath();ctx.beginPath();ctx.arc(400, 175, 30, 0, 2 * Math.PI);ctx.stroke();ctx.closePath();ctx.beginPath();ctx.arc(320, 380, 100, 1 * Math.PI, 2 * Math.PI);ctx.stroke();ctx.closePath();}window.onload = function() {smile();}function smile() {var c = document.getElementById("canvas");var ctx = c.getContext("2d"); //绘制2d;var grd = ctx.createRadialGradient(320, 240, 150, 320, 240, 200);grd.addColorStop(0, "red");grd.addColorStop(1, "white");ctx.fillStyle = grd;ctx.strokeStyle = 'black';ctx.beginPath();ctx.arc(320, 240, 200, 0, 2 * Math.PI);ctx.fill();ctx.stroke();ctx.closePath();ctx.beginPath();ctx.arc(260, 175, 30, 0, 2 * Math.PI);ctx.stroke();ctx.closePath();ctx.beginPath();ctx.arc(380, 175, 30, 0, 2 * Math.PI);ctx.stroke();ctx.closePath();ctx.beginPath();ctx.arc(320, 240, 150, 0, -1 * Math.PI);ctx.stroke();ctx.closePath();}</script></body>
</html>

http://www.ppmy.cn/news/138613.html

相关文章

笑~~~~~~~~~~~~

笑是一种武器吗&#xff1f; 有人说是&#xff0c;有人说不是&#xff0c; 但有什么关系呢&#xff0c; 我从来不笑的。 自小我活着的唯一目的就是报仇&#xff0c;&#xff08;太老套&#xff0c;无新意&#xff0c;原谅&#xff0c;不是渔夫&#xff0…

H5画布绘制笑脸

H5画布绘制笑脸 一、绘制三角形 canvas绘制三角形 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>三角形</title><style>#myCanvas{box-shadow: 0 0 5px black;margin-top: 50px;margin-left: 50px;}<…

浅谈java中集合框架-双端队列 deque

deque&#xff08;double-ended queue&#xff0c;双端队列&#xff09;是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出 实现&#xff1a; Deque表示双端队列。双端队列是在两端都可以进行插入和删除的队列。 1. LinkedList 新建一个双端队列&#xff…

基于物联网技术的电动车锂电池安全预警系统

基于物联网技术的电动车锂电池安全预警系统 本系统的研发背景 目前应对策略 实际效果如何 电动车锂电池安全预警系统 认知的误区 设计的误区 锂电池安全预警的需求分析 锂电池安全预警的实现原理 锂电池安全预警系统概况 本系统的研发背景 据国家消防救援局官方不完全统…

电动汽车充电桩资料搜集

1、交流充电桩 交流充电桩是固定安装在社区停车场、居民小区、大型商场、服务区、路边停车场等场所&#xff0c;接入电网&#xff0c;为电动汽车车载充电机提供可控的单向交流电源或三相交流电源的供电装置。交流充电桩本身并不具备充电功能&#xff0c;其只是单纯提供电力输出…

基于蒙特卡洛的大规模电动汽车充电行为分析(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; ​ &#x1f4cb;&#x1f4cb;&#x1f4cb;本文目录如下&#xff1a;⛳️⛳️⛳️ ​ 目录 1 概述 2 数学模型 3 运行结…

纯电动汽车架构设计(一) :电动车架构设计核心与前悬架选择

附赠仿真学习包&#xff0c;包含结构、流体、电磁、热仿真等多学科视频教程&#xff0c;点击领取&#xff1a; ​​​​​​仿真秀粉丝专属礼包 作者&#xff1a;王朋波&#xff0c;仿真秀科普作者 平台与架构的定义 汽车平台&#xff0c;简单来说&#xff0c;就是指汽车设计…

电动车控制器c语言编程,电动车控制器C语言源代码.docx

电动车控制器C语言源代码 . #define _E_BIKE_W79E83X_C_ #include "intrins.h" #include "E_BIKE_W79E83X.H" #include"W79E834.h" /******************************************************************* * ********* * 主函数 **************…