Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Resize immagini

Hybrid View

  1. #1
    ok risolto così:
    codice:
        public void resizeImage(File inputImage, String dir, int width, int height) throws IOException {
            Image image = ImageIO.read(inputImage);
            Image newImage = image.getScaledInstance(width, height, Image.SCALE_SMOOTH);
            BufferedImage buf = new BufferedImage(newImage.getWidth(null), newImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
            Graphics2D g2 = buf.createGraphics();
            g2.drawImage(newImage, 0, 0, null);
            g2.dispose();
            String ext = FilenameUtils.getExtension(inputImage.getName());
            ImageIO.write(buf, ext, new File(dir + inputImage.getName()));
        }
    grazie per la dritta!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ok risolto così:
    Sì, così va bene.
    Prima non funzionava perché la immagine originale era caricata in modo asincrono dal Toolkit di AWT (ImageIcon aggiunge di suo solo il tracking per attendere il completamento del caricamento). E la immagine scalata era di nuovo una immagine caricabile in modo asincrono, percui subito immediatamente dopo il getScaledInstance, il newImage.getWidth(null) ti restituisce -1 (idem per height) perché la dimensione non è ancora nota. E questo era il problema per la creazione del BufferedImage.

    Se la immagine originale la carichi con la ImageIO, hai un BufferedImage già completa e la immagine scalata è presumibilmente di nuovo un BufferedImage, quindi completa (non ho mai verificato questo aspetto ma credo sia così).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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