Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    33

    [JAVA] - generare immagini contenenti testo

    Salve a tutti,
    sto realizzando un'applicazione web-based che prevede un area riservata con relativa registrazione degli utenti.
    il problema è questo:
    dovrei evitare che la registrazione venga fatta tramite 'web-bot' e la soluzione migliore sembra inserire un'immagine contenente un codice all'interno della pagina di registrazione (in modo che un eventuale bot non possa in alcun modo interpretarla).
    Ho creato un'immagine per ogni lettera dell'alfabeto e per ogni numero, e vengono combinate al momento della presentazione della pagina, ma mi piacerebbe trovare un metodo un po' più elegante...
    sono andato un po' in giro e mi hanno detto (non sono pratico di swing & co.) che è possibile inserire del testo in un'immagine creata in precedenza oppure crearla runtime...

    ci ho provato ma con scarsi risultati (vedi alla voce JPEG nera)

    qualcuno di voi saprebbe, gentilmente, darmi una dritta?

    grazie
    cele81
    ...è meglio tacere e dare l'impressione di essere sciocco piuttosto che parlare e togliere ogni dubbio...

    ops... ho parlato di nuovo...

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    33

    ...trovato...

    mando il codice della mia jsp nel caso possa servire a qualcuno...
    ciao

    codice:
    <%@ page contentType="image/jpeg" import="java.awt.image.*,java.awt.*,com.sun.image.codec.jpeg.*" %>
    <%
             int size_v = 50;
             int size_h = 200;
    
             BufferedImage bfm = new BufferedImage(size_h,size_v,BufferedImage.TYPE_INT_RGB);
             Graphics g = bfm.getGraphics();
    
             g.setColor(Color.yellow);
             g.fillRect(0,0,size_h,size_v);
             g.setColor(Color.black);         
             g.setFont(new Font("Courier", Font.BOLD, 10));
             g.drawString(java.net.InetAddress.getLocalHost().toString()+" @ "+String.valueOf(System.currentTimeMillis()), 10, 20); 
             
             
             JPEGImageEncoder enc = JPEGCodec.createJPEGEncoder(response.getOutputStream());
    
             enc.encode(bfm);
             
             response.getOutputStream().close();
             
    %>
    ...è meglio tacere e dare l'impressione di essere sciocco piuttosto che parlare e togliere ogni dubbio...

    ops... ho parlato di nuovo...

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.