[英]PathIterator for java.awt.Rectangle always gives (0,0)
在我的代碼中,我創建了一個java.awt.Rectangle
實例,其實例帶有一個corner,length和width 。 然后,在其上應用旋轉仿射變換 (),將其旋轉一定角度。
然后,我獲取矩形的PathIterator並將幾何迭代為:
PathIterator i = rectangle.getPathIterator(at);
while (!i.isDone()) {
double[] xy = new double[2];
i.currentSegment(xy);
}
雖然我希望得到4分(或者說第一個和最后一個可能是5分),但是我得到的卻是6分。 更令人驚訝的是,最后一點總是(0,0)。 (0,0)不是矩形幾何的一部分,但我仍然總是得到它。 這種行為背后的原因是什么?
檢查currentSegment
的返回值。 最后一個“點”將為PathIterator.SEG_CLOSE
類型,其記錄為:
段類型常量,用於指定應通過將線段添加回對應於最新SEG_MOVETO的點來關閉前面的子路徑。
與此類型關聯的點數據是隱式的(即,路徑中的第一個和最后一個點)。 當currentSegment
返回SEG_MOVETO
時,不寫入任何數組; 您在上一次調用中看到的點(0,0)是創建數組時初始化數組的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.