首页 > 解决方案 > Paper js - 光栅 onClick 事件仅附加到位置点

问题描述

我正在使用 PaperJS,我需要使用可以作为 base64 字符串接收的现有图标集(这是我无法更改的给定图标)。渲染栅格没有问题。但是,当我将它们设置为这样的位置时:

    const myRaster = new Raster(<someBase64>);
    myRaster.position = new Point(receivedX, recievdY);
    myRaster.onClick = () => console.log('raster click');

position仅当我准确单击分配给属性的 [x,y] 点时,onClick 事件才会起作用。X 和 Y 从数据库接收并与其他可见元素一致。

我在 PaeprJS 网站上玩过,没有使用new Point位置,onClick 可以在图像周围工作。

我现在的解决方案是创建一个不可见的多边形(新的 Path.RegularPolygon)并将 onClick 事件附加到它并且它可以工作。但是,必须有一个更简单的解决方案,并且很想了解我在这里缺少什么。

谢谢!

标签: javascriptpaperjs

解决方案


显然,SVG 部分是通过编程创建的,并且周围有很多空白。使用来自各种不同来源的 base64 编码 SVG 进行测试按预期工作


推荐阅读