canvas是一个就基于像素的画图h5元素。

利用canvas做一个如下描述所示的动态图形:当鼠标点下去时开始绘图,在鼠标结束时完成一个矩形,当再一次点击时重复第一次的绘图步骤。

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <style type="text/css">
 7             canvas{
 8                 border: 1px solid #000;
 9             }
10         </style>
11     </head>
12     <body>
13         <canvas id="canvas" width="400" height="400"></canvas>
14         <script type="text/javascript">
15             var canvas = document.getElementById("canvas");
16             var context = canvas.getContext("2d");
17 //            当鼠标点击时执行的函数
18             canvas.οnmοusedοwn=()=>{
19 //                得到鼠标在canvas上的位置
20                 var x = event.clientX - canvas.offsetLeft;
21                 var y = event.clientY - canvas.offsetTop;
22                 var x1 = 0;
23                 var y1 = 0;
24 //                当鼠标移动时
25                 document.onmousemove = () =>{
26 //                    清除原来的矩形
27                     context.clearRect(0,0,canvas.width,canvas.height);
28 //                    得到鼠标绘制结束时矩形的位置
29                     x1 = event.clientX - canvas.offsetLeft;
30                     y1 = event.clientY - canvas.offsetTop;
31 //                    鼠标完成绘制时的矩形的宽和高
32                     context.strokeRect(x,y,(x1-x),(y1-y));
33                 }
34 //                鼠标离开后
35                 document.onmouseup = ()=>{
36                     document.onmousemove = null;
37                     document.ommousedown = null;
38                 }
39             }
40         </script>
41     </body>
42 </html>

效果图,可在规定的矩形内绘制任何宽高的矩形

转载于:https://www.cnblogs.com/flyingLcode/p/7731908.html

canvas特效代码详解(2)相关推荐

  1. android生命周期_Android开发 View的生命周期结合代码详解

    咱们以TextView控件为例: /** * Created by SunshineBoy on 2020/9/23. */ public class TestTextView extends and ...

  2. 【Unity3D-UGUI系列】(一)Canvas 画布组件详解

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875   大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉 ...

  3. 自定义View之Canvas(画布)的详解

    接下来学习一下自定义View之Canvas(画布)的详解 先来看看Canvas常用方法: 功能分类 Canvas常用方法 备注 绘制颜色 drawARGB 通过设置ARGB值绘制颜色 drawRGB ...

  4. java canvas详解_HTML5的canvas绘图技术详解

    原标题:HTML5的canvas绘图技术详解 本篇教程探讨了HTML5的canvas绘图技术详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < canvas ...

  5. 【CV】Pytorch一小时入门教程-代码详解

    目录 一.关键部分代码分解 1.定义网络 2.损失函数(代价函数) 3.更新权值 二.训练完整的分类器 1.数据处理 2. 训练模型(代码详解) CPU训练 GPU训练 CPU版本与GPU版本代码区别 ...

  6. html5代码转换为视频,HTML5中的视频代码详解

    摘要 腾兴网为您分享:HTML5中的视频代码详解,智学网,云闪付,易推广,小红书等软件知识,以及360win10,流量魔盒,fitbit,上港商城,安卓2.3.7,全民惠,五年级下册英语单词表图片,t ...

  7. js php base64,JavaScript实现Base64编码与解码的代码详解

    本篇文章给大家分享的是jJavaScript实现Base64编码与解码的代码详解,内容挺不错的,希望可以帮助到有需要的朋友 一.加密解密方法使用//1.加密 var str = '124中文内容'; ...

  8. yii mysql 事务处理_Yii2中事务的使用实例代码详解

    前言 一般我们做业务逻辑,都不会仅仅关联一个数据表,所以,会面临事务问题. 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全 ...

  9. canvas arcTo()用法详解 – CodePlayer

    canvas arcTo()用法详解 – CodePlayer canvas arcTo()用法详解

最新文章

  1. 在报No suitable driver found for jdbc:mysql情况下,我是如何一步一步实现jmeter成功连接mysql...
  2. 世界半导体集成电路发展史(超细、超全)
  3. 如何部署HTTPS 申请证书 安装证书
  4. cassandra java driver
  5. lua的closure创建和使用
  6. 计算机桌面堆,桌面堆 Desktop heap设置
  7. DCB(串口的DCB结构)
  8. 2021某宝上的千月五级分润源码影视小说源码
  9. JavaScript依赖注入的实现思路
  10. 修改树状控件TreeCtrl的节点名称
  11. mysql 5.7 编译_MySQL5.7.20编译安装
  12. rust油桶用什么打_火龙果用什么膨大剂好?果子增大用什么肥料?什么时候打膨大素?...
  13. wxWindows的事件表机制
  14. c++ 中断_「正点原子NANO STM32开发板资料连载」第十章 外部中断实验
  15. torch的CNN案例,mnist数据集下载缓慢的解决方案
  16. 最小二乘法求拟合曲线(中线)的斜率和截距
  17. mysql查询学生表年龄语句_表是student表-从学生表tstudent-学生表student
  18. 输入一个数判断一个数是不是质数,如果是质数输出“YES“,否则输出“NO“
  19. 《The Tobii I-VT Fixation Filter Algorithm description》阅读
  20. Docker测试环境笔记

热门文章

  1. linux系统日志_如何使用 Linux Cockpit 来管理系统性能 | Linux 中国
  2. linux jetty 安装目录结构,Linux下Jetty 9安装部署
  3. android二分查找法简书,【PYTHON】二分查找算法
  4. c语言读入文件排序,帮忙-如何对文件排序啊
  5. java shape类_Java——Shape类
  6. delphi7存取配置文件与sqlserver数据库连接_Delphi7存取配置文件与SQLServer数据库连接...
  7. docker安装前提条件
  8. python中感叹号_C#中感叹号(!) 的作用总结
  9. 404 错误页面_如何设计404错误页面,以使用户留在您的网站上
  10. OpenCV3 识别图中表格-JAVA 实现