滚动画布图像时,无法修改画布上的测谎仪

Posted

技术标签:

【中文标题】滚动画布图像时,无法修改画布上的测谎仪【英文标题】:modifying the polygraph on a canvas is not working when canvas image is scrolled 【发布时间】:2021-11-07 17:38:23 【问题描述】:

我目前遇到的问题是,当我在画布上滚动图像时,无法操作绘制的测谎仪。有没有办法在代码中解决这个问题?

在下面的 jsfiddle.net/heldersepu/egt92403/36 中,它与我在 Validate if mouse position is within rotated rectangle in html5 Canvas 中发布的帖子有关,并得到了 Helder Sepulveda 的帮助。

【问题讨论】:

【参考方案1】:

您正在使用 event.clientY 和 event.clientX 来获取鼠标的位置,这两个属性是相对于屏幕的。

您可以使用 event.pageY 和 event.pageX 来获取相对于文档的坐标(这两个属性不受滚动影响) 或者用 window.scrollY 和 window.scrollX 偏移你自己的位置,一个例子可以在这里看到https://jsfiddle.net/faex5Lqc/2/(重要部分event.clientY - canvas.offsetTop + window.scrollY

【讨论】:

以上是关于滚动画布图像时,无法修改画布上的测谎仪的主要内容,如果未能解决你的问题,请参考以下文章

当图像重新缩放以适合画布时,织物 js 上的裁剪功能无法正常工作

Python 中 Tkinter 画布上 .jpg 图像的滚动条

如何在画布内实现文本滚动

Amazon S3 图像,无法使用 html5 画布保存,出现受污染的画布错误

如何在页面上的特定滚动位置启动功能?

如何在 Konvajs 画布中上传和加载图像?