所以,我需要调用一个实现scanLine
的方法。参数
另一种方法返回Point2D.Double
的List。我将返回值传递给新列表:
ArrayList<Point2D.Double> outPolygon = clip.clipPolygon(cPoints, clipper);
现在我需要使用outPolygon
列表作为scanLine
的参数。但是Wrong argument type
会弹出,因为它需要Point
的列表,而我正在通过Point2D.Double
的列表。
如何转换它以便我可以将其作为scanLine
的参数传递?
我试过了:
// prevedení z PointDouble na PointInt
for(int i=0; i<outPolygon.size(); i++)
{
int x = (int)(outPolygon.get(i).x *(img.getWidth() - 1));
int y = (int)((1 - outPolygon.get(i).y) * (img.getHeight() - 1));
// uložení bodu do nového seznamu
pointsInInteger.add(new Point(x,y));
}
答案 0 :(得分:0)
为每个Point创建一个包含新Point2D.Double的新列表。像这样的东西是一个选择。
long
或循环
List<Point> points = ...
List<Point2D.Double> points2s = points.stream()
.map(point -> new Point2D.Double(point.getX(), point.getY()))
.collect(Collectors.toList());