private void adaptSizeWithoutStretch(Dimension newSize){ int newW = (int) newSize.getWidth(); int newH = (int) newSize.getHeight(); float ratio = ((float)width)/height; float newRatio = ((float)newW)/newH; if(newRatio > ratio) newW = (int) (newH*ratio); else newH = (int) (newW/ratio); svg.setPreferredSize(new Dimension(newW, newH)); }
public static BufferedImage getResourceBitmap(InputStream inputStream, String name, float scaleFactor, float defaultSize, int width, int height, int percent) throws IOException { try { URI uri = SVGCache.getSVGUniverse().loadSVG(inputStream, name); SVGDiagram diagram = SVGCache.getSVGUniverse().getDiagram(uri); double scale = scaleFactor / Math.sqrt((diagram.getHeight() * diagram.getWidth()) / defaultSize); float[] bmpSize = GraphicUtils.imageSize(diagram.getWidth(), diagram.getHeight(), (float) scale, width, height, percent); SVGIcon icon = new SVGIcon(); icon.setAntiAlias(true); icon.setAutosize(SVGIcon.AUTOSIZE_STRETCH); icon.setPreferredSize(new Dimension((int) bmpSize[0], (int) bmpSize[1])); icon.setSvgURI(uri); BufferedImage bufferedImage = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB); icon.paintIcon(null, bufferedImage.createGraphics(), 0, 0); return bufferedImage; } catch (Exception e) { throw new IOException(e); } }
SVGIconCreator setWidth(final int widthPixels) { icon.setPreferredSize(new Dimension(widthPixels, (int) (widthPixels * aspectRatio))); return this; } }
SVGIconCreator setHeight(final int heightPixels) { icon.setPreferredSize(new Dimension((int) (heightPixels / aspectRatio), heightPixels)); return this; }
/** * Draw the svg linked to this {@code Onlineresource} in the Graphics2D g2. * @param g2 * @param at * @param opacity */ public void drawSVG(Graphics2D g2, AffineTransform at, double opacity) { AffineTransform fat = new AffineTransform(at); if (effectiveHeight != null && effectiveWidth != null) { svgIcon.setPreferredSize(new Dimension((int) (effectiveWidth + 0.5), (int) (effectiveHeight + 0.5))); fat.concatenate(AffineTransform.getTranslateInstance(-effectiveWidth / 2, -effectiveHeight / 2)); } else { svgIcon.setPreferredSize(new Dimension((int) (svgInitialWidth + 0.5), (int) (svgInitialHeight + 0.5))); fat.concatenate(AffineTransform.getTranslateInstance(-svgInitialWidth / 2, -svgInitialHeight / 2)); } svgIcon.setScaleToFit(true); AffineTransform atMedia = new AffineTransform(g2.getTransform()); g2.transform(fat); svgIcon.paintIcon((Component) null, g2, 0, 0); g2.setTransform(atMedia); }
public Dimension getPreferredSize() { if (preferredSize == null) { SVGDiagram diagram = svgUniverse.getDiagram(svgURI); if (diagram != null) { //preferredSize = new Dimension((int)diagram.getWidth(), (int)diagram.getHeight()); setPreferredSize(new Dimension((int)diagram.getWidth(), (int)diagram.getHeight())); } } return new Dimension(preferredSize); }
public Dimension getPreferredSize() { if (preferredSize == null) { SVGDiagram diagram = svgUniverse.getDiagram(svgURI); if (diagram != null) { //preferredSize = new Dimension((int)diagram.getWidth(), (int)diagram.getHeight()); setPreferredSize(new Dimension((int)diagram.getWidth(), (int)diagram.getHeight())); } } return new Dimension(preferredSize); }
public Dimension getPreferredSize() { if (preferredSize == null) { SVGDiagram diagram = svgUniverse.getDiagram(svgURI); if (diagram != null) { //preferredSize = new Dimension((int)diagram.getWidth(), (int)diagram.getHeight()); setPreferredSize(new Dimension((int)diagram.getWidth(), (int)diagram.getHeight())); } } return new Dimension(preferredSize); }
public Dimension getPreferredSize() { if (preferredSize == null) { SVGDiagram diagram = svgUniverse.getDiagram(svgURI); if (diagram != null) { //preferredSize = new Dimension((int)diagram.getWidth(), (int)diagram.getHeight()); setPreferredSize(new Dimension((int)diagram.getWidth(), (int)diagram.getHeight())); } } return new Dimension(preferredSize); }
double effectiveWidth = rect.getWidth(); double effectiveHeight = rect.getHeight(); svgIcon.setPreferredSize(new Dimension((int) (effectiveWidth + 0.5), (int) (effectiveHeight + 0.5))); fat.concatenate(AffineTransform.getTranslateInstance(-effectiveWidth / 2, -effectiveHeight / 2)); } else { double svgInitialWidth = svgIcon.getIconWidth(); double svgInitialHeight = svgIcon.getIconHeight(); svgIcon.setPreferredSize(new Dimension((int) (svgInitialWidth + 0.5), (int) (svgInitialHeight + 0.5))); fat.concatenate(AffineTransform.getTranslateInstance(-svgInitialWidth / 2, -svgInitialHeight / 2));
int iconHeight = height > 0 ? height : icon.getIconHeight(); icon.setClipToViewbox(clipToViewBox); icon.setPreferredSize(new Dimension(iconWidth, iconHeight)); icon.setScaleToFit(sizeToFit); BufferedImage image = new BufferedImage(iconWidth, iconHeight, BufferedImage.TYPE_INT_ARGB);
int iconHeight = height > 0 ? height : icon.getIconHeight(); icon.setClipToViewbox(clipToViewBox); icon.setPreferredSize(new Dimension(iconWidth, iconHeight)); icon.setScaleToFit(sizeToFit); BufferedImage image = new BufferedImage(iconWidth, iconHeight, BufferedImage.TYPE_INT_ARGB);
int iconHeight = height > 0 ? height : icon.getIconHeight(); icon.setClipToViewbox(clipToViewBox); icon.setPreferredSize(new Dimension(iconWidth, iconHeight)); icon.setScaleToFit(sizeToFit); BufferedImage image = new BufferedImage(iconWidth, iconHeight, BufferedImage.TYPE_INT_ARGB);
int iconHeight = height > 0 ? height : icon.getIconHeight(); icon.setClipToViewbox(clipToViewBox); icon.setPreferredSize(new Dimension(iconWidth, iconHeight)); icon.setScaleToFit(sizeToFit); BufferedImage image = new BufferedImage(iconWidth, iconHeight, BufferedImage.TYPE_INT_ARGB);
icon.setPreferredSize(new Dimension((int) (widthDst + 0.5), (int) (heightDst + 0.5))); icon.setScaleToFit(true); } else {
icon.setAntiAlias(true); icon.setAutosize(SVGIcon.AUTOSIZE_STRETCH); icon.setPreferredSize(new Dimension((int) bitmapWidth, (int) bitmapHeight)); icon.setSvgURI(uri); BufferedImage bufferedImage = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);