簡體   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