我想在react-native-sketch-canvas中实现一个套索工具

I want to implement a lasso tool in react-native-sketch-canvas

提问人:Mandar Joshi 提问时间:11/14/2023 更新时间:11/14/2023 访问量:21

问:

我已经使用 https://www.npmjs.com/package/@kichiyaki/react-native-sketch-canvas 实现了画布绘制功能。现在我想实现一个套索工具,我可以在画布中选择一个区域,并且可以剪切、复制或删除该特定区域中的绘图。有没有人实现过这样的事情?

我尝试选择一个区域,但我无法获得其中的坐标或图纸。

javascript 反应 反应原生草图画布

评论

0赞 Community 11/15/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

0赞 Ashley Coolman 11/14/2023 #1

一个相当粗略的想法,将最困难的数学外包给 SVG 是:

  1. 使用触摸事件创建 SVG 路径
  2. 使用 SVG 用白色填充它
  3. 将其转换为黑白套索形状图像
  4. 创建源图像的选择副本
  5. 循环遍历套索形状图像的每个像素,如果像素是白色的,则在相应的像素中..:
    1. ...在源图像中,将像素 Alpha 设置为清除 (0)
    2. ...在“选择复制图像”中,将像素 Alpha 设置为不透明 (1)