private ImageData writeImageTOBEMOVED( FileFormatOption fileFormatOption, OutputStream os, Animation affineTransforms) throws IOException { final LimitFinder limitFinder = new LimitFinder(TextBlockUtils.getDummyStringBounder(), true); udrawable.drawU(limitFinder); Dimension2D dim = new Dimension2DDouble( limitFinder.getMaxX() + 1 + margin1 + margin2, limitFinder.getMaxY() + 1 + margin1 + margin2); double dx = 0; double dy = 0; if (affineTransforms != null) { final MinMax minmax = affineTransformations.getMinMax(dim); affineTransforms.setDimension(dim); dim = minmax.getDimension(); dx = -minmax.getMinX(); dy = -minmax.getMinY(); } final UGraphic2 ug = createUGraphic(fileFormatOption, dim, affineTransforms, dx, dy); udrawable.drawU(handwritten(ug.apply(new UTranslate(margin1, margin1)))); ug.flushUg(); ug.writeImageTOBEMOVED(os, metadata, 96); os.flush(); if (ug instanceof UGraphicG2d) { final Set<Url> urls = ((UGraphicG2d) ug).getAllUrlsEncountered(); if (urls.size() > 0) { final CMapData cmap = CMapData.cmapString(urls, dpiFactor); return new ImageDataComplex(dim, cmap, warningOrError); } } return new ImageDataSimple(dim); }
public double getMinX() { return minmax.getMinX(); }