# Anzeige von anderen Bildformaten: BMP, TIFF, PCX



## winter2 (8. Nov 2004)

Hallo,

ich bin dabei, eine Anwendung zu schreiben, in der eine Vorschau auf verschiedene Dokumentformate möglich sein soll, hauptsächlich Bilder. Zum Dateien anzeigen und auswählen verwende ich einen JFileChooser.

Mit folgendem Code funktioniert es, JPG, PNG und GIF-Dateien (verkleinert) anzeigen zu lassen:


```
BufferedImage img = ImageIO.read(filePicker.getSelectedFile());
      Image klein = img.getScaledInstance(100, 100, Image.SCALE_FAST);

      ImageIcon zwischen = new ImageIcon(klein);
      jLabel12.setText("");
      jLabel12.setIcon(zwischen);
```

Kennt jemand eine Möglichkeit, auch BMP, TIF und PCX-Dateien anzuzeigen? Oder evtl. weitere, exotischere Bilddateien?
Außerdem wäre es gut, auch die erste Seite von Power-Point-Präsentationen in der Vorschau zu sehen, aber das wird wohl nicht so einfach möglich sein.


----------



## Gast (8. Nov 2004)

Probiers mal mit dem Jimi Paket. 
Erklärung findest du in dem Galileo Computing Java Buch.
(einfach in google: Bilder bearbeiten mit Java, dann kommt eh der Link)

Mfg


----------



## winter2 (8. Nov 2004)

Vielen Dank, damit geht es tatsächlich!
Das Buch findet man zwar nicht mit dem genannten Suchstring bei Google, und es ist im Netz auch nur eine Leseprobe von den ersten Kapiteln vorhanden, aber es gibt andere Texte (Foren), die man so findet und dort fand ich ein Beispiel, welches den Einstieg erleichtert (...für zukünftige Archiv-Sucher...):

```
package welcome;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.sun.jimi.core.*;

public class ImagePanel extends JComponent {

  protected Image image;

  public ImagePanel(Image image) {
    super();
    this.image = image;
  }

  public Dimension getPreferredSize() {
    return (image==null)?new Dimension(0, 0):
            new Dimension(image.getWidth(null), image.getHeight(null));
  }

  public void paintComponent(Graphics g) {
    if (image != null) {
      g.drawImage(image, 0, 0, this);
    }
  }

  public static void main(String argv[]) {

    try {
      JFrame frame = new JFrame(argv[0]);  // oder andere Pfadangabe
      frame.setBackground(Color.white);
      JScrollPane s = new JScrollPane();
      s.getViewport().setView(new ImagePanel(Jimi.getImage(argv[0])));  // oder andere Pfadangabe
      frame.getContentPane().add(s);
      frame.addWindowListener(
        new WindowAdapter() {
          public void windowClosing(WindowEvent event) {
            System.exit(0);
          }
        }
      );
      frame.pack();
      frame.setVisible(true);
    }
    catch(Exception e) {
      System.out.println(e.getMessage());
      e.printStackTrace();
    }

  }

}
```


----------



## Grizzly (8. Nov 2004)

winter2 hat gesagt.:
			
		

> [...]
> Das Buch findet man zwar nicht mit dem genannten Suchstring bei Google, und es ist im Netz auch nur eine Leseprobe von den ersten Kapiteln vorhanden, aber es gibt andere Texte (Foren), die man so findet und dort fand ich ein Beispiel, welches den Einstieg erleichtert (...für zukünftige Archiv-Sucher...):[...]



Schau mal hier: Java ist auch eine Insel: 14.9.17 Java Image Management Interface (JIMI)


----------



## winter2 (16. Nov 2004)

Danke, der Link klappt, ich hatte es auch früher schon mal gesehen.

Leider werden PCX-Dateien so nicht angezeigt, bzw. nur schwarz! BMP, TIFF, sogar PSD klappt, aber TGA und PSP ebenfalls nicht. Der Code ist der obige. Müssen diese Formate vorher speziell dekodiert werden, oder woran liegt das? Weiß jemand, wie man das mit Jimi macht (Hinweise)?


----------



## Gast (16. Nov 2004)

Bei TGA stürzt sogar das ganze Applet ab. Ich verwende natürlich nicht den Beispielcode, entscheidend ist ja auch nur die statische Methode Jimi.getImage(Pfad), die ein Image rurückgibt. Das lasse ich dann verkleinert anzeigen.


----------

