• 21-canvas事件监听


     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>21-Canvas事件监听</title>
     6     <style>
     7         *{
     8             margin: 0;
     9             padding: 0;
    10         }
    11         canvas{
    12             display: block;
    13             margin: 0 auto;
    14             background: red;
    15         }
    16     </style>
    17 </head>
    18 <body>
    19 <canvas width="500" height="400"></canvas>
    20 <script>
    21     /*
    22     因为整个canvas是一个标签, 所以只能通过监听鼠标在canvas上的位置来判断是否需要处理对应的图形
    23     * */
    24     // 1.拿到canvas
    25     let oCanvas = document.querySelector("canvas");
    26     // 2.从canvas中拿到绘图工具
    27     let oCtx = oCanvas.getContext("2d");
    28     // 3.绘制矩形
    29     let rectX = 100;
    30     let rectY = 100;
    31     let rectWidth = 100;
    32     let rectHeight = 100;
    33     oCtx.rect(rectX, rectY, rectWidth, rectHeight);
    34     oCtx.fill();
    35 
    36     oCtx.beginPath();
    37     oCtx.rect(200, 200, 100, 100);
    38     oCtx.fill();
    39     // 4.添加点击事件
    40     oCanvas.onclick = function (event) {
    41         let x = event.offsetX;
    42         let y = event.offsetY;
    43         /*
    44         if(x >= rectX && x <= rectX + rectWidth &&
    45             y >= rectY && y <= rectY + rectHeight){
    46             console.log("矩形被点击了");
    47         }else{
    48             console.log("矩形没有被点击");
    49         }
    50         */
    51         /*
    52         注意点:
    53         isPointInPath方法如果开启了一个新的路径, 那么判断的就是点是否在新的路径的图形中
    54         * */
    55         console.log(oCtx.isPointInPath(x, y));
    56     }
    57 </script>
    58 </body>
    59 </html>
  • 相关阅读:
    Windows API 的数据类型与 Delphi 数据类型对照表
    Delphi 编译错误信息表
    Delphi中的容器类
    Delphi 快捷键
    代码折叠
    [转]Delphi中record的使用
    [转]常用公共函数单元
    Delphi 运行时错误信息表
    C#调用Win32 的API函数User32.dll
    [转]Delphi程序启动参数的读取
  • 原文地址:https://www.cnblogs.com/gsq1998/p/12166274.html
Copyright © 2020-2023  润新知