Cum se afișează o imagine (toate formatele majore), selectate de JFileChooser în java

Sunt în curs de dezvoltare o aplicație de editare a imaginilor, deci doriți să afișați o imagine selectată de JFileChooser , deci ce ar fi cea mai bună abordare pentru a putea afișa toate formatele jpg png , gif etc. OpenButton este folosit pentru invocarea filechooser.

private void OpenActionPerformed(java.awt.event.ActionEvent evt) {
       int returnVal = fileChosser.showOpenDialog(this);
       if (returnVal == JFileChooser.APPROVE_OPTION) {
           File file = fileChosser.getSelectedFile();
          //What to do with the file
          //I want code for this part
           try {
             //code that might create an exception 
           } 
           catch (Exception e1) {
             e.printStackTrace();
           }
       }
}
0
este metoda ImageIO.read() este capabilă de o astfel de funcționalitate, astfel încât să pot edita imaginea.
adăugat autor Tushar Maroo, sursa
Deci, ce ați încercat să vă ajut să deschideți imaginea? Ați folosit metoda ImageIO.read (...) ?
adăugat autor Hovercraft Full Of Eels, sursa
Vă rugăm să verificați ImageIO API . Metoda de citire (...) va returna un BufferedImage. Puteți să editați această imagine dacă doriți.
adăugat autor Hovercraft Full Of Eels, sursa
Rețineți că utilizarea ImageIO va produce numai un singur cadru pentru un GIF animat. De asemenea, există tipuri de JPG (cel puțin) pe care ImageIO nu se pot ocupa.
adăugat autor Andrew Thompson, sursa

1 răspunsuri

Cea mai ușoară cale este probabil să creați un ImageIcon din URL-ul fișierului (sau din conținutul fișierului ca octeți sau din numele fișierului) și să înfășurați acest ImageIcon într-o JLabel:

iconLabel.setIcon(new ImageIcon(file.toURI().toURL()));

Dar dacă aplicația dvs. ar trebui să editeze imaginea, atunci va trebui să înveți cum să manipulezi instanțele java.awt.Image , iar cea mai ușoară cale nu va fi suficientă.

0
adăugat
Am încercat de mai sus fragment a funcționat, dar pentru a edita sugerează-mi toate metodele care pot fi utilizate .. și există orice metodă care poate încărca imaginea ca 2-d matrice?
adăugat autor Tushar Maroo, sursa
Nu veți învăța cum să construiți o aplicație pentru ediția de imagini începând de la zero și punând întrebări despre StackOverflow. Citiți documentația java.awt.Image și a subclaselor sale și citiți cel puțin tutorialul despre grafica Java 2D: docs.oracle.com/javase/tutorial/2d/index.html . Reading documentația este o cerință pentru orice dezvoltator decent.
adăugat autor JB Nizet, sursa
"poate încărca imaginea ca array 2-d?" Verificați JavaDocs pentru BufferedImage . De asemenea, remediați faptul că a rămas "?" cheie.
adăugat autor Andrew Thompson, sursa