ciao!

uso questo codice per applicare un watermark alle immagini:
codice:
    private void addWatermark(String text, File input) {
        try {
            BufferedImage bi = ImageIO.read(input);
            Graphics2D g2d = (Graphics2D) bi.getGraphics();
            AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.1f);
            g2d.setComposite(ac);
            g2d.setColor(Color.BLACK);
            g2d.setFont(new Font("Arial", Font.BOLD, 100));
            FontMetrics fontMetrics = g2d.getFontMetrics();
            Rectangle2D rect = fontMetrics.getStringBounds(text, g2d);
            int centerX = (bi.getWidth() - (int) rect.getWidth()) / 2;
            int centerY = bi.getHeight() / 2;
//            g2d.drawString(text, centerX, centerY);
            g2d.drawString(text, centerX, 90);
            File output = new File(finalDir + "/" + input.getName());
            ImageIO.write(bi, "jpg", output);
            g2d.dispose();
            System.out.println("Watermark aggiunto all'immagine: " + input.getAbsolutePath());
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
        }
    }
funziona abbastanza bene, con solo due piccoli problemi:
- la scritta non è nera, ma grigia
- la dimensione del font non è sempre la stessa

come posso risolvere??