Canvas缩放平移后如何获取矩形的新坐标?
Canvas缩放后自动获取矩形新起始坐标的问题
我在Canvas中绘制了矩形,支持用户通过鼠标滚轮在光标位置进行缩放操作,对应的TypeScript代码如下:
this.context?.clearRect( 0, 0, this.width * this.CELL_SIZE, this.height * this.CELL_SIZE ); if (event.deltaY == -100) { this.context?.translate(event.offsetX, event.offsetY); this.context?.scale(1.05, 1.05); this.context?.translate(-event.offsetX, -event.offsetY); } else if (event.deltaY == 100) { this.context?.translate(event.offsetX, event.offsetY); this.context?.scale(0.95, 0.95); this.context?.translate(-event.offsetX, -event.offsetY); } this.draw_Grid();
问题
对Canvas上下文(context)执行缩放和平移操作后,矩形的位置会发生变化,我需要自动获取该矩形的新起始x、y坐标(即矩形到Canvas边框的距离),且不需要依赖鼠标移动事件来实现。
我已经做了大量调研,但没找到合适的解决方案。之前了解过通过鼠标移动事件检测距离的方法,但不符合我的需求。

欢迎提供建议或解决方案,谢谢!
内容的提问来源于stack exchange,提问作者Presti
相关产品推荐
相关产品推荐

