AffineTransform.getScaleInstance( width / bounds.getWidth(), height / bounds.getHeight())); resized.setShape(tss); resized.setSize(height);
public void testAlternativeMarkSizeCalculation() { MarkStyle2D ms = new MarkStyle2D(); ms.setSize(1); GeneralPath gp = new GeneralPath(); gp.moveTo(500, 0); gp.lineTo(-500, 0); gp.moveTo(200, -275); gp.lineTo(200, 275); ms.setShape(gp); Shape shape = ms.getTransformedShape(0, 0); Rectangle2D rect = shape.getBounds2D(); assertEquals(1.0, rect.getHeight(), 0.0001); assertEquals(1000.0 / 550.0, rect.getWidth(), 0.0001); MarkStyle2D.setMaxMarkSizeEnabled(true); shape = ms.getTransformedShape(0, 0); rect = shape.getBounds2D(); assertEquals(550.0 / 1000.0, rect.getHeight(), 0.0001); assertEquals(1.0, rect.getWidth(), 0.0001); }
MarkStyle2D createMarkStyle(Mark mark, Object feature, Symbolizer symbolizer, double size) { Shape shape = getShape(mark, feature); if (shape == null) { throw new IllegalArgumentException( "The specified mark " + mark.getWellKnownName() + " was not found!"); } Composite composite = getComposite(symbolizer.getOptions()); MarkStyle2D ms2d = new MarkStyle2D(); ms2d.setShape(shape); ms2d.setFill(getPaint(mark.getFill(), feature, symbolizer)); ms2d.setFillComposite( composite != null ? composite : getComposite(mark.getFill(), feature)); ms2d.setStroke(getStroke(mark.getStroke(), feature)); ms2d.setContour(getStrokePaint(mark.getStroke(), feature)); ms2d.setContourComposite( composite != null ? composite : getStrokeComposite(mark.getStroke(), feature)); // in case of Mark we don't have a natural size, so we default // to 16 if (size <= 0) { size = DEFAULT_MARK_SIZE; } ms2d.setSize(size); return ms2d; }
tss.shape = original; tss.setTransform(AffineTransform.getScaleInstance(width / bounds.getWidth(), height / bounds.getHeight())); resized.setShape(tss); resized.setSize((int) height);
ms2d.setShape(shape); ms2d.setFill(getPaint(mark.getFill(), feature)); ms2d.setFillComposite(getComposite(mark.getFill(), feature));
ms2d.setShape(shape); ms2d.setFill(getPaint(mark.getFill(), feature)); ms2d.setFillComposite(getComposite(mark.getFill(), feature));