Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    158

    Caricare immagine dinamicamente

    Come si caricano le immagini dinamicamente ? cerco di essere più chiaro.... allora nella pagina principale della mia applet chiedo all'utente di inserire l'url dell'immagine da caricare

    Help Me
    Thanks

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Caricare immagine dinamicamente

    Originariamente inviato da Daikin
    Come si caricano le immagini dinamicamente ? cerco di essere più chiaro.... allora nella pagina principale della mia applet chiedo all'utente di inserire l'url dell'immagine da caricare
    Dipende ... non c'è un unico modo.

    1) Con la ImageIO (javax.imageio.ImageIO). Il caricamento è "sincrono", la immagine è modificabile perché ImageIO fornisce in lettura dei BufferedImage, supporta più formati di immagini, perché la architettura della ImageIO è a "plug-in" (e ci sono già svariati formati pluggati di default).

    2) Con il Toolkit AWT (java.awt.Toolkit). Il caricamento è "asincrono", la immagine fornita è un Image, di norma è "read-only", supporta solo GIF/JPEG/PNG.

    3) Con ImageIcon (javax.swing.ImageIcon), utile specialmente se va messo subito in un JButton/JLabel. Si basa sul Toolkit, quindi valgono le stesse cose dette in 2)

    4) Se in una "applet", il getImage() di Applet. Cosa usi non lo so al momento ... dipende dalla implementazione del AppletContext. Comunque restituisce il generico Image, quindi è bene supporre che sia read-only, la documentazione dice che ritorna immediatamente, quindi è di certo "asincrono".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    158
    Grazie

    allora l'immagine che deve essere inserita nn deve subire modifiche , è solo un logo che deve essere inserito nel frame principale dell'applicazione

    quale dei metodi citati in precedenza è più adatto e semplice x la mia situazione ?

    thanks

    sto provando con imageIcon... ma con scarsi risultati

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    158

    edit

    ho risulto con il caricamento delle immagini

    adesso ho 2 problemi :

    1. come posso effettuare un controllo sulla dimensione dell'immagine inserita ? ( max 200x200 )

    2. inoltre per l'esistenza di un file stavo usando exists , ma è utile fino ad un certo punto.... se ho capito bene controlla i percorsi , c'è un vero e proprio controllo su esistenza o meno di file ?
    exists anke se è una directory mi da true....

    Grazie



    isFile() penso sia la soluzione migliore.... però come faccio a sapere se è un immagine ?
    ( .gif , .jpg ,... )

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Daikin
    1. come posso effettuare un controllo sulla dimensione dell'immagine inserita ? ( max 200x200 )
    Image ha getWidth/getHeight. Nota che ricevono un ImageObserver (qui centra se il caricamento è asincrono o no, se hai dubbi chiedi).
    BufferedImage ha gli stessi ma senza argomenti (perché se si ottiene un BufferedImage si può considerarlo già "completo").

    Originariamente inviato da Daikin
    2. inoltre per l'esistenza di un file stavo usando exists , ma è utile fino ad un certo punto.... se ho capito bene controlla i percorsi , c'è un vero e proprio controllo su esistenza o meno di file ?
    exists anke se è una directory mi da true....
    isFile() e isDirectory(). Testano se esiste e è un file o directory.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    158
    Grazie x tutti i suggerimenti

    forse ho risolto così :

    Image img = new ImageIcon("My.jpg").getImage();
    int width = img.getWidth(null);
    int height = img.getHeight(null);

    mi ha restituito 200*200 faccio altri test....

    che cosa intendi per caricamento asincrono o meno ?
    come posso fare un controllo sull'estensione del file ? ad esempio se è .txt si deve rifiutare di aggiungere il file...

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Daikin
    Image img = new ImageIcon("My.jpg").getImage();
    int width = img.getWidth(null);
    int height = img.getHeight(null);

    mi ha restituito 200*200 faccio altri test....

    che cosa intendi per caricamento asincrono o meno ?
    Come hai fatto il caricamento è "sincrono", terminato il costruttore di ImageIcon, la immagine è "completa".
    La documentazione di ImageIcon infatti dice: "Images that are created from a URL, filename or byte array are preloaded using MediaTracker to monitor the loaded state of the image."

    Originariamente inviato da Daikin
    come posso fare un controllo sull'estensione del file ? ad esempio se è .txt si deve rifiutare di aggiungere il file...
    codice:
    if (nome.endsWith(".gif") || nome.endsWith(".png")) {
        // ... ok ...
    }
    Questo è il modo più semplice. Se vuoi accettare gif/GIF/Gif ecc... basta portare prima nome in lower-case ( toLowerCase() ).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    158
    grazieeeee

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 © 2025 vBulletin Solutions, Inc. All rights reserved.