单击鼠标在画布中绘制实心圆

2024-03-14

我想通过鼠标单击在画布上绘制一个填充(或未填充)的圆圈,但我无法让我的代码正常工作,我已经尝试了几乎所有方法!

这是我的 HTML:

<div id="images"></div>
<canvas style="margin:0;padding:0;position:relative;left:50px;top:50px;" id="imgCanvas" width="250" height="250" onclick="draw(e)"></canvas>

和我当前的脚本:

var canvas = document.getElementById("imgCanvas");
var context = canvas.getContext("2d");

function createImageOnCanvas(imageId) {
    canvas.style.display = "block";
    document.getElementById("images").style.overflowY = "hidden";
    var img = new Image(300, 300);
    img.src = document.getElementById(imageId).src;
    context.drawImage(img, (0), (0)); //onload....
}

function draw(e) {
    var pos = getMousePos(canvas, e);
    posx = pos.x;
    posy = pos.y;
    context.fillStyle = "#000000";
    context.arc(posx, posy, 50, 0, 2 * Math.PI);
}

function getMousePos(canvas, evt) {
    var rect = canvas.getBoundingClientRect();
    return {
        x: evt.clientX - rect.left,
        y: evt.clientY - rect.top
    };
}

当且仅当我删除“use strict”时,代码才能正常工作;但是在这个作业中,我必须编写一个即使使用它也可以工作的代码,这是我的问题。

这里是jsFiddle http://jsfiddle.net/ds9s7/167/


我自己解决了。

function draw(e) {

    var canvas = document.getElementById("imgCanvas");
    var context = canvas.getContext("2d");
    var rect = canvas.getBoundingClientRect();
    var posx = e.clientX - rect.left;
    var posy = e.clientY - rect.top;

    context.fillStyle = "#000000";
    context.beginPath();
    context.arc(posx, posy, 50, 0, 2 * Math.PI);
    context.fill();
}

这个脚本对我来说效果很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单击鼠标在画布中绘制实心圆 的相关文章

  • 如何在css3中制作曲线风格的菜单?

    是否可以用css3制作曲线 圆弧样式的菜单 我可以使用canvas或HTML5中的其他东西来实现这一点吗 预先感谢 洛根 不幸的是 我不知道有什么优雅的解决方案 特别是当涉及到菜单项时 但弧线本身应该可以在纯 css 和几个 html 元素
  • React Native TypeError:无法读取未定义的属性“createClient”

    我是 React 本机框架的新手 我使用 create react native app AwesomeProject 创建了应用程序 我想在我的项目中使用 BLE 因此我安装了 react native ble plx 模块 但是当我创建
  • 尝试注册 RCTBridgeModule 类 RCTFileReaderModule

    尝试为名称 FileReaderModule 注册 RCTBridgeModule 类 RCTFileReaderModule 但该名称已由类 FileReaderModule 注册 尝试使用命令react native run ios在i
  • jQuery 选择器定位具有 id AND class 的元素不起作用

    我有以下事件处理函数 jQuery document on click button submitb function e alert jQuery 包含在 html 文档中 但是 如果我点击 div class submitb Go di
  • 从 html5

    我正在寻找一种方法来根据用户代理字符串将控件属性添加到视频标签 我不希望在 iPad 和 Android 之外的任何浏览器或设备上出现控件属性 所以我认为用户代理是最好的识别方法 因为 ipad 和 android 一词出现在各自的 UA
  • 动态更改 vuejs 2 中的选择输入选项

    如何动态更改选择下拉 v model 中的选项 我有 2 个选择输入 其中一个应该根据其他输入进行更改 例如 如果我选择 水果 则选择显示水果 如果我选择 蔬菜 则选择显示蔬菜 我不使用Vuejs 但查看文档后 var TypesArr F
  • 如何使用javascript从word文档页面中删除表格设计? Word js 插件

    我正在从表格 html 的 word 文档最后一页插入表格设计 我怎样才能删除它 这是我的代码 async function NewMap try await Word run async context gt html to word h
  • 在移动网站中处理 iPhone 事件(如向左滑动)

    iPhone 浏览器是否有可以使用 Javascript 挂钩的特殊事件 例如 如果用户向左滑动 我想执行某个操作 如果有类似的活动 很高兴看到所有这些活动的参考 理想情况下 有一天所有触摸屏移动浏览器都会有一个标准 您可以访问多点触控事件
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 如何在html中设置按钮的文本大小

    您好 我想在我的网站上有一个按钮 并且我想调整按钮上的文本大小 我该怎么做呢 我的代码如下
  • Rails 中的 PDF 导出

    我需要将包含一些图表的 HTML 页面导出为 PDF 有哪些好的 gem 可以做到这一点 PDFKit http railscasts com episodes 220 pdfkit http railscasts com episodes
  • iPhone 点击时使 div 变暗

    当您的 div 附加了点击处理程序时 当点击该 div 时 iPhone 会使该 div 变暗 作为点击指示器 示例 在移动 Safari 上查看http jsbin com awejo3 4 http jsbin com awejo3 4
  • 如何显示 GroupList 的 FormArray?

    我正在尝试制作一个交互式表单 在每一行上列出一个项目以及一个删除按钮 在我的示例中称为 verwijderen 这些项目是从数据库中检索的 并且每个项目都实例化为名为的自定义对象LaborPeriod 然后这些对象被转化为FormGroup
  • Socket.io 与服务器离线连接

    如何检测服务器是否离线或由于其他原因无法连接 我的代码看起来像这样 this socket io connect connectionInfo reconnect false 它不会抛出任何错误 因此 try catch 子句不起作用 Us
  • 响应式2列2行布局

    我一直在试图弄清楚如何创建这个布局 我有一个 2 列布局 左列有 1 行 右侧有 2 行 我试图让它流畅地调整 我遇到的问题是 我希望右侧顶部图像的顶部与左侧图像的顶部对齐 而底部图像的底部与左侧图像的底部保持对齐 我应该使用桌子吗 这是我
  • 动态 dom 操作后,如何在浏览器历史记录中保留 dom 状态?

    是否有一个通用的解决方案来保留 dom 状态 以便当用户使用后退 前进返回页面时 整个页面处于他们离开时的确切状态 这篇文章询问并回答了为什么不同浏览器和不同 javascript 库的行为不一致 Ajax 后退按钮和 DOM 更新 htt
  • 将下拉按钮和下拉菜单放在中心?

    div class dropup center block div
  • 错误:模块“html”不提供视图引擎(Express)

    我正在尝试设置一个简单的路由应用程序 但在渲染页面时不断遇到错误 Error Module html does not provide a view engine 奇怪的是我已经在 app js 文件中指定了视图引擎 但仍然收到错误 app
  • 我如何用 javascript/jquery 进行两指拖动?

    我正在尝试创建当有两个手指放在 div 上时拖动 div 的功能 我已将 div 绑定到 touchstart 和 touchmove 事件 我只是不确定如何编写这些函数 就像是if event originalEvent targetTo
  • 用 Beautiful Soup 进行抓取:为什么 get_text 方法不返回该元素的文本?

    最近我一直在用 python 开发一个项目 其中涉及抓取一些网站的一些代理 我遇到的问题是 当我尝试抓取某个知名代理站点时 当我要求 Beautiful Soup 查找 IP 在代理表中的位置时 它并没有按照我的预期执行操作 我将尝试查找每

随机推荐

  • C++ 矢量数学和 OpenGL 兼容

    我一直在做很多矢量数学的工作 并为其编写了自己的模板 我的要求是大量的向量数学 加法 减法 缩放 叉乘和点积 而且我需要能够将我的向量作为 float 传递 以便 openGL 可以使用它 我已经很高兴地使用这个有一段时间了 今天一位讲师看
  • Codeigniter:如何获取文件的文件名

    我是 Codeigniter 新手 我正在尝试获取上传图像的文件名 以便将其保存在数据库中 我有两个模型 homemodel 处理我的数据库 image upload model 处理图像上传 一切正常 除了我不知道如何将图像文件名发布到数
  • 如何在 Xcode 5 中的 Storyboard 上抑制约束和布局警告?

    是否有任何标志可以抑制 Xcode 5 中故事板的不明确布局或错误放置的视图 我在代码中添加约束 并且只是使用 Interfacebuilder 中的视图作为虚拟对象 我不想应用 Xcode Resolve 自动布局问题 因为我很高兴视图在
  • 当我登录 Azure 门户时,Azure Function 计时器运行两次

    我在 Azure 中有一个定时函数应用程序 计划在每天 22 00 运行 然而 它似乎每天都在 21 59 和 22 00 运行 当我登录 Azure 门户检查日志时 它似乎也是随机运行的 以下是我收到的重复条目的时间戳示例 我在网上搜索过
  • ASP.Net MVC 应该为每个视图创建一个模型吗?

    我对 ASP Net MVC 相当陌生 我发现自己为每个视图制作一个模型类 例如 SignInModel SignUpModel EditProfileModel 等 其中许多都有些相似 具有相同的数据库文件 然后还有一些自定义属性 这真的
  • PyInstaller 无缓冲 stdio

    Problem Docker 镜像大小通常应尽可能小 使用成熟的环境 例如标准蟒蛇 https hub docker com python 安装了所有依赖项后 图像通常会导致图像严重膨胀 将 python 打包成独立的可执行文件 例如使用
  • c# MVC 站点地图 - 使用角色时非常慢 - 非常慢

    我已经安装了适用于 MVC5 的 MVC 站点地图提供程序 并且使用了开箱即用的所有内容 效果很好 现在我想实现基于角色的菜单修剪 所以假设我的控制器 public class Home Controller Authorize Roles
  • 如何调试“请求的资源上不存在‘Access-Control-Allow-Origin’标头”

    我在浏览器控制台上显示此错误 XMLHttpRequest 无法加载http localhost 8080 api 登录 http localhost 8080 api login 请求的资源上不存在 Access Control Allo
  • 当 DOM“准备好”时运行 JavaScript 函数?

    我正在使用 JavaScript 上传脚本 该脚本表示一旦 DOM 准备好就运行初始化函数 我目前可以通过调用该函数来使其正常工作body onload或者直接在函数定义之后 该函数在占位符 div 中构建一些 HTML 充当文件上传工具
  • 向 NSImageView 添加阴影

    我有一个NSImageView并想添加阴影 我尝试过以编程方式执行此操作 NSShadow shadow NSShadow alloc init autorelease shadow setShadowBlurRadius 4 0f sha
  • 打印不带括号的 Numpy 数组

    predictions x6 x5 x4 x3 x2 x1 predictions 调用上面的列表会产生以下数组 array 782 36739152 array 783 31415872 array 726 90474426 array
  • 在单元测试中模拟 Spark RDD

    是否可以在不使用sparkContext的情况下模拟RDD 我想对以下实用函数进行单元测试 def myUtilityFunction data1 org apache spark rdd RDD myClass1 data2 org ap
  • 如何使用 CSS 创建对角线背景效果

    是否可以使用 CSS 创建如下图所示的效果 基本上我想创建 div 背景对角线分割 一侧为块色 另一侧为白色 您可以使用linear gradient on background 请参见以下示例 body height 100vh widt
  • C语言中localtime的结果结构体是如何分配的?

    我正在玩time hC 语言文件可以帮助我们处理时间 日期函数 我碰到 struct tm Cdecl localtime const time t timer 这似乎返回一个指向 tm 结构的指针 我发现按地址返回主要用于返回新的内存分配
  • 导入错误未定义符号(python 中的 C++ 模块)ZTINSt8ios_base7failureB5cxx11E

    我知道网站上有很多类似的问题 但我找不到问题的答案 我使用 Cython 包装 C 类 以便将它们与 Python3 一起使用 使用以下命令构建外部模块后setup py 当我运行 python 程序时 出现以下错误 from name o
  • MYSQL - 选择两个表中行数的差异

    我正在尝试比较两个数据库中两个表的行数 行数应该相同 SELECT 从 db1 table1 中选择 COUNT 从 db2 table1 中选择 COUNT AS差异 仅当差异 0 时如何选择 我需要为多个表运行此命令 并且不需要 0 值
  • R RegEx:匹配方括号内的所有双引号 (") 字符

    我正在努力获取匹配所有双引号字符的正则表达式 出现在方括号内 我有不同的部分可以完成我想要的部分功能 例如 gsub xyz 1 xyz 将得到所有双引号 无论其他什么 gsub xyz abc 1 abc 将把所有内容放在两个方括号内 包
  • 如何将 HashLocationStrategy 与 Auth0 Lock 小部件结合使用以进行用户登录

    更新后Auth0登录示例 https github com auth0 samples auth0 angular samples tree master 01 Login to use HashLocationStrategy in ap
  • spring-batch (java-config) 使用 JobExecutionDecider 识别和执行步骤

    我有 3 个步骤 A B C 应按 A gt B gt C 的顺序执行 其中 B 是可选的 我必须仅根据某些条件执行步骤 B 我使用 JobExecutionDecider 来决定如下 Bean name decider JobExecut
  • 单击鼠标在画布中绘制实心圆

    我想通过鼠标单击在画布上绘制一个填充 或未填充 的圆圈 但我无法让我的代码正常工作 我已经尝试了几乎所有方法 这是我的 HTML div div