Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    34

    BufferedImage: subdolo problema

    Salve!
    Sto cercando di disegnare un'immagine da file su un pannello, cosa di per se' piuttosto semplice..questo e' il codice che lo fa, dentro ovviamente ad un ImgPanel che estende JPanel:

    codice:
    	BufferedImage img ;
    	public ImgPanel(BufferedImage image) {
    		img = image ;
    		MediaTracker m = new MediaTracker(this) ;
    		m.addImage(img, 1);
    	}
    	public void paintComponent(Graphics g) {
    		super.paintComponent(g) ;
    		if (img != null) 
    		    g.drawImage(img, 10, 10, 150, 150, null) ;
    		g.drawRect(8, 8, 50, 50);
    		
    	}
    nessun errore ne' a compilazione ne' run time, di nessun tipo.

    L'immagine e' caricata da file apparentemente correttamente, e il pannello viene creato con un classico
    ImgPanel imgp = new ImgPanel(immagine)

    Ma l'immagine nel pannello non c'e'.
    O meglio..il drawRect serve appunto a verificare questo.
    Del rettangolo disegna il lato sinistro e 2 pixel di lato basso e lato alto, nient'altro, come se il pannello fosse tagliato proprio dove dovrebbe iniziare l'immagine..

    Mettendo una println prima del drawImage che fa stampare varie info sull'immagine, tipo img.getHeight() eccetera, si vede come l'immagine c'e' ed ha esattamente le dimensioni che dovrebbe avere eccetera..

    Non riesco proprio a capire per quale arcana ragione non la disegna come dovrebbe, e non disegna nient'altro nella zona dove dovrebbe essere l'immagine.

    Grazie in anticipo..^^

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Dovresti precisare un po' di cose:
    - Come è stata caricata la immagine da file (ImageIO ?)
    - Dove è messo quel pannello (serve più che altro per capire meglio quale dimensione ha).
    - Quale è la dimensione reale di quella immagine.
    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
    Mar 2010
    Messaggi
    34
    Dunque:

    1. si, ImageIO.
    2 e 3. il pannello e' in un JDialog, l'immagine e' 480x394, ridimensionata a 150x150 (o almeno dovrebbe farlo in base al drowImage che ho usato..).
    La dimensione del dialog credo sia poco influente, mi e' sempre capitato che se l'immagine non ci stava venisse disegnata comunque e allargando la finestra si vedesse cio' che mancava poi..qui in vece non succede, anche portandolo a schermo intero non c'e' nulla.
    Il pannello e' messo nel dialog che ha un BorderLayout ad ovest, mentre ad est e sud ci sono altri pannelli poi..

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.