ciao!
uso questo codice per applicare un watermark alle immagini:
funziona abbastanza bene, con solo due piccoli problemi: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()); } }
- la scritta non è nera, ma grigia
- la dimensione del font non è sempre la stessa
come posso risolvere??

Rispondi quotando