如何用圆圈替换光标,而不是在 p5.js 中将其绘制到画布上?

2024-03-02

问题:我正在尝试使用 p5.js 创建一个简单的绘图应用程序。我想在光标位置显示一个代表画笔大小的圆圈,而不是标准光标图像。

可能的解决方案1:使用替换光标cursor()p5 的原生函数。

为什么它不起作用: The p5光标功能 https://p5js.org/reference/#/p5/cursor仅采用以下参数:

箭头、十字、手、移动、文本或等待,或图像路径

因此,没有本地方法可以使用椭圆类替换光标。

可能的解决方案2:使用noCursor()函数,然后在光标位置绘制圆圈,同时还绘制背景,如下所示:

var brushSize = 50;

function setup() {
  createCanvas(1080,720);
  noCursor();
}


function draw() {
  background(100);
  ellipse(mouseX,mouseY,brushSize);

}

为什么它不起作用:虽然此解决方案获得了所需的效果,即将光标替换为画笔大小的圆圈,但不断更新的背景使我无法在需要时使用画笔实际绘制到画布上。

有什么方法可以替换光标而不实际将椭圆绘制到画布上?有没有办法在 p5 中保存并立即重新加载画布?我在 API 文档中搜索找不到这样的方法。任何提示表示赞赏。


根据参考资料 https://p5js.org/reference/#/p5/cursor,您可以将 URL 传递到cursor()设置图像的函数。

如果您想使用您绘制的图像,则必须提前绘制它们并将它们保存到文件中,然后使用这些文件。像这样的事情:

cursor('images/ellipse-15.png');

Where ellipse-15.png是您提前生成的图像,以匹配brushSize例如,是 15。

顺便说一句,P5.js 只是设置光标 CSS 属性。您可以阅读更多相关内容here https://developer.mozilla.org/en-US/docs/Web/CSS/cursor.

如果你想和noCursor()自己接近并绘制椭圆,您可以将绘图绘制到缓冲区(createGraphics()函数是你的朋友),然后在每一帧的顶部绘制椭圆。我仍然可能会使用十字光标,因为如果你自己绘制它会出现一些恼人的滞后。

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

如何用圆圈替换光标,而不是在 p5.js 中将其绘制到画布上? 的相关文章

  • dojo dijit.form.DateTextBox 约束不起作用,datetextbox

    嗨 我是 javascript 和 dojo 的新手 我正在尝试使用两个带有下拉日历的 dijit DateTextBox 来建立数据库查询的日期范围 一旦选择了开始日期或结束日期 我想限制可用的日期 以便不可能选择按时间顺序排列在开始日期
  • 将 OoXml 插入单词抛出错误:未知

    我一直在尝试通过office js将OOXML插入到word文档的正文内容中insertOoXML 方法 我什至尝试过最简单的实现 认为我在尝试替换 XML 本身中的 fieldCodes 时做了一些不正确的事情 所有结果都是这样Error
  • jquery.find() 可以只选择直接子项吗?

    我应该向 jQuery find 提供什么参数来选择元素子元素而不选择其他元素 我不能用 gt 引导选择器 而用 将选择所有后代 而不仅仅是直接子代 我知道 jQuery children 但这是一个库 因此用户能够提供自己的选择器 并且我
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 使用 useReducers 调度函数发送多个操作?

    使用时是否可以通过调度函数发送多个动作useReducer挂钩反应 我尝试向它传递一组操作 但这会引发未处理的运行时异常 明确地说 通常会有一个初始状态对象和一个减速器 如下所示 const initialState message1 nu
  • Meteor:应用程序无法在 0.9.1.1 版本上运行

    出现类似错误 Error TypeError undefined is not a function evaluating Template create anonymous function iron dynamic template j
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中

随机推荐

  • 为什么 XHTML 中的


    不同?

    这是 HTML 页面的完整源代码 one br two br three br four 谁能解释为什么当我在 IE8 或 chrome 中查看页面时 三 和 四 之间会出现额外的空行 我认为标准应该让所有浏览器看起来都一样 据我所知 这个
  • 自动将 CSV 文件导入 SQL Server [重复]

    这个问题在这里已经有答案了 我正在尝试将许多不同的 csv 文件导入 SQL Server 2008R2 数据库 文件中的数据以逗号分隔 我对文件格式没有发言权 有些列是文本 并用双引号分隔 就像在 Excel 中一样 这些列包含的文本可能
  • 在View的背景中画一个半圆

    我正在尝试创建一个背景为半圆的 TextView 我使用 ShapeDrawable 创建一个椭圆形 我尝试使用 ScaleDrawable 将椭圆形的垂直尺寸加倍并剪辑它来创建半圆 但是 ScaleDrawable 没有任何效果 为什么不
  • 我可以使用新的 ZeroClipboard 从剪贴板获取数据吗?

    我在项目中使用这个新版本的 ZeroClipboard https github com jonrohan ZeroClipboard https github com jonrohan ZeroClipboard 创建按钮来从 HTML
  • python中的加权非负最小二乘线性回归[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道有一个加权 OLS 求解器 http statsmodels sourceforge net d
  • 是否可以自定义 Visual Studio 2017 SSRS rptproj MSBuild 文件?

    我的公司对自定义 MSBuild 目标文件库进行了大量投资 我们用它来构建完整的产品 我们在源代码管理中拥有的每个项目文件都会导入至少一个自定义目标文件 这些文件最终都会导入一个包含大量通用目标和属性的核心目标文件 最近 我们在我们的解决方
  • 给定输入生成真值表?

    是否有一种智能算法可以获取多个概率并在多维数组或容器内生成相应的真值表 Ex n 3 N 0 0 0 0 0 1 0 1 0 1 1 1 我可以使用 for 循环和 If 来完成此操作 但我知道我的方法会很慢且耗时 因此 我想问是否有一种高
  • Bootstrap 3 - 更改下拉菜单背景颜色

    我对 Bootstrap 很陌生 我设置了一个下拉菜单并尝试了颜色 我想做的是在选择下拉标题药丸后更改其颜色 它目前变为浅灰色 这是我的代码 div class row hidden xs div class col md 12 ul cl
  • 无法在 Selenium (Python) 中定位元素

    我尝试在 Chrome 中使用 Selenium 但无法在页面上找到元素 我尝试使用链接文本 XPath 和完整 XPath 但只有一个错误 并且没有单击该元素 from selenium import webdriver from sel
  • Python:使用递归算法作为生成器

    最近 我编写了一个函数来生成具有重要约束的某些序列 这个问题是通过自然递归解决方案来解决的 现在 即使对于相对较小的输入 序列也有数千个 因此我更愿意使用我的算法作为生成器 而不是使用它来填充所有序列的列表 这是一个例子 假设我们想用递归函
  • 如何将字母表中的 3 个字母前移(凯撒密码)?

    我正在尝试制作一个程序来加密用户提交的字符串 我想使用一种加密技术 其中字符串是字母表中的前 3 个字母 例子 abc会成为def 目前我有一个文本框 TextBox1 和一个按钮 Button1 到目前为止我的代码 Private Sub
  • 在Eclipse中通过项目搜索

    如何在Eclipse中通过项目搜索某个单词 当我启动 CTRL h 时 我需要选择字段 方法或 但我需要查找项目中所有出现的情况 而不是方法 字段或 如何实现这一目标 CTRL H gt File Search gt Containing
  • 如何将文件添加到应用程序沙箱中的 /Documents 目录

    这是我所在的地方 I have JSON files I need to mount into Objective C Objects I have an XCode Project I have dragged the folder of
  • Javascript 无法解析相对于当前脚本的工作路径

    我有一个脚本在http localhost js foo js需要从文件中生成一个 Web Workerhttp localhost js fooWorker js 我以为我可以做这样的事情 var worker new Worker fo
  • 文本区域编辑器 Redactor。使用 jQuery 插入值

    有字段文本区域id tr 使用 HTML 编辑器 Redactor 最新版本 尝试按照 API 文档中的描述准确设置字段的值 tr redactor insertText text or tr redactor insertHtml tex
  • “冻结”张量流中的一些变量/范围:stop_gradient 与传递变量以最小化

    我正在尝试实施对抗性神经网络 http arxiv org abs 1406 2661 这需要在交替训练小批量期间 冻结 图的一个或另一部分 IE 有两个子网 G 和 D G Z gt Xz D X gt Y 其中损失函数G依赖于取决于D
  • 抓取文本然后将该文本提交到特定路径

    我想做的是抓取文本 然后将该文本提交到接受表单输入 name mykeyword 的特定应用程序路径 并且我也希望在浏览器的新选项卡中打开它 我做了一些练习 但没有运气 任何想法 ScanTitle click function var m
  • 拦截html按钮点击

    当用户点击 html 按钮时是否有可能拦截 我有一个 webviewclient 它加载带有两个按钮的登录页面 允许和拒绝 我希望您在按下拒绝按钮时进行拦截 拒绝和允许具有相同的 basUrl 和 js 执行正确的重定向 提前致谢 您可能不
  • 在 javascript 中的对象数组中搜索深度嵌套的值

    我基本上试图实现对任何给定值的搜索应该在对象键值数组中查找 也可以是嵌套对象 这是一个例子 下面的函数将采用一个对象和一个查询来搜索数组对象键值 因此 如果找到匹配项 它应该从该数组中进行过滤 function searchObj obj
  • 如何用圆圈替换光标,而不是在 p5.js 中将其绘制到画布上?

    问题 我正在尝试使用 p5 js 创建一个简单的绘图应用程序 我想在光标位置显示一个代表画笔大小的圆圈 而不是标准光标图像 可能的解决方案1 使用替换光标cursor p5 的原生函数 为什么它不起作用 The p5光标功能 https p