Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Strano comportamento font in watermark

    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??

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER , 0.1f);

    Il nero resta nero solo se non c'è trasparenza, appena inizi a dare trasparenza, il nero (ma anche gli altri colori) "sbiadisce" virando verso il grigio.

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER , 0.1f);

    Il nero resta nero solo se non c'è trasparenza, appena inizi a dare trasparenza, il nero (ma anche gli altri colori) "sbiadisce" virando verso il grigio.
    si non ci avevo pensato in effetti.
    senza AlphaComposite funziona.
    grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.