Bounds bounds = node.getTransformedBounds();
BufferedImage img = new BufferedImage((int)bounds.getWidth()+1,(int)bounds.getHeight()+1,BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = img.createGraphics();
g2.translate(-bounds.getX(), -bounds.getY());
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
SwingGFX gfx = new SwingGFX(g2);
double[] metrics = node.getExportMetrics(gfx);
g2.translate(node.getTranslateX(), node.getTranslateY());
double[] totals = new double[metrics.length];
for(int i=0; i<key.length(); i++) {