[英]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.