List of usage examples for com.itextpdf.text.pdf.parser BezierCurve BezierCurve
public BezierCurve(List<Point2D> controlPoints)
From source file:mkl.testarea.itext5.pdfcleanup.PdfCleanUpRegionFilter.java
License:Open Source License
private static BezierCurve[] approximateCircle(Point2D center, double radius) { // The circle is split into 4 sectors. Arc of each sector // is approximated with bezier curve separately. BezierCurve[] approximation = new BezierCurve[4]; double x = center.getX(); double y = center.getY(); approximation[0] = new BezierCurve(Arrays.asList((Point2D) new Point2D.Double(x, y + radius), new Point2D.Double(x + radius * circleApproximationConst, y + radius), new Point2D.Double(x + radius, y + radius * circleApproximationConst), new Point2D.Double(x + radius, y))); approximation[1] = new BezierCurve(Arrays.asList((Point2D) new Point2D.Double(x + radius, y), new Point2D.Double(x + radius, y - radius * circleApproximationConst), new Point2D.Double(x + radius * circleApproximationConst, y - radius), new Point2D.Double(x, y - radius))); approximation[2] = new BezierCurve(Arrays.asList((Point2D) new Point2D.Double(x, y - radius), new Point2D.Double(x - radius * circleApproximationConst, y - radius), new Point2D.Double(x - radius, y - radius * circleApproximationConst), new Point2D.Double(x - radius, y))); approximation[3] = new BezierCurve(Arrays.asList((Point2D) new Point2D.Double(x - radius, y), new Point2D.Double(x - radius, y + radius * circleApproximationConst), new Point2D.Double(x - radius * circleApproximationConst, y + radius), new Point2D.Double(x, y + radius))); return approximation; }