繁体   English   中英

从java.awt.geom.GeneralPath中删除一个点/操作

[英]remove a point/operation from java.awt.geom.GeneralPath

有没有办法删除一条普通路径的点? 我画了一个GeneralPath如下:

GeneralPath gp1=new GeneralPath();
gp1.moveTo(5,5);
gp1.lineTo(10,10);
gp1.lineto(10,30);
gp1.curveTo(2, 2, 7, 7, 5, 5);
gp1.closePath();

现在我想删除一个特定的点/操作,例如lineto(10,10),而不从new创建GeneralPath。 (表现原因)

以下命令将是我喜欢的,但这不可用:

GeneralPath.removesegment(1);

附上截图,这应该解释我的愿望:-)我想删除我的GeneralPath中的蓝色标记点。

谢谢和Regads

在此输入图像描述

Path2D.Float派生GeneralPath Path2D.Float不提供对其内部数据结构的访问,并且不允许所需的操作类型。 因此,除非您准备重新实现GeneralPath或规避访问限制,否则根本无法实现此目的。

另一方面,我怀疑性能应该是一个很大的问题。 我认为在大多数应用程序中,绘制路径比在内存中操作它们需要更多时间,因此从现有路径创建新路径不应该花费太长时间。 我使用PathIterator周围的包装器来实现它,因此您可以使用Path2D.append将数据移动到新路径。 包装器只是检测要删除的点并跳过这些点,将其他所有内容委托给原始路径的默认迭代器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM