(別のクラスの)lineListという配列からLine2D値を読み取り、それらをlistという新しい配列に格納する小さなコードブロックがあります。ここから、すべてのライン値をポリゴンポイント(ラインエンドの各x、y座標のポイント)に変換しようとしています。
これまでのところ、私はそれを機能させていますが、追加された配列の最初の行の最初のポイント(それは私が思うものです)では機能せず、これを含めようとしたので、これに対する解決策を見つけるのに苦労しています最初のifステートメント。
私はこれに関して誰もが私に提供することができるどんな助けにも大いに感謝します。
以下は、Line2D値からポイントを追加するために使用しているコードです。
Polygon p = new Polygon();
ArrayList<Line2D> list = new ArrayList<Line2D>();
Color pixel;
boolean firstTime = true;
list = segmentation.getLineList();
//loop through lineList and add all x and y coordinates to relative x and y arrays
for(int i = 0; i < list.size(); i++) {
if(firstTime == true){
Line2D line = list.get(i);
Point2D startPoint = line.getP1();
Point2D endPoint = line.getP2();
int startX = (int) startPoint.getX();
int startY = (int) startPoint.getY();
int endX = (int) endPoint.getX();
int endY = (int) endPoint.getY();
p.addPoint(p.xpoints[i] = startX, p.ypoints[i] = startY);
p.addPoint(p.xpoints[i] = endX, p.ypoints[i] = endY);
startPoint = null;
endPoint = null;
line = null;
firstTime = false;
}
else {
Line2D line = list.get(i);
Point2D endPoint = line.getP2();
int endX = (int) endPoint.getX();
int endY = (int) endPoint.getY();
p.addPoint(p.xpoints[i] = endX, p.ypoints[i] = endY);
endPoint = null;
line = null;
}
}
以下は、ポリゴンポイントに含まれていない最初のポイント(最下部のポイント)の例です。