Thumbnails

Status
Nicht offen für weitere Antworten.

jogep

Mitglied
Hallo,

ich möchte in einer Anwendung alle Bilder eines Verzeichnisses als Thumbnails darstellen. Ähnlich der Miniaturvorschau des Windows Dateiexplorers.

Dies funktioniert zwar mit folgendem Code:

Code:
public class ImagePanel extends AbstractButton
{
  private Image scale;

  public ImagePanel(File ii)
  {
      FileImageInputStream fiis = new FileImageInputStream(file);
      BufferedImage bimage = ImageIO.read(fiis);
      int w = bimage.getWidth(null);
      int h = bimage.getHeight(null);

      this.scale = bimage.getScaledInstance(width, heigth, Image.SCALE_DEFAULT);

  }

  public void paintComponent (Graphics g)
  {
    g.drawImage(scale,0,0,null);
  }
}


Für jedes Bild im Verzeichniss erstelle ich jetzt dieses ImagePanel und füge es einem Panel mit GridLayout hinzu.

Nur leider ist das Performancemäßig sehr bescheiden. Gerade wenn viele große Bilder aus der Digitalkamera dargestellt werden sollen. Muss man ewig warten bis die Anwendung alle Bilder als Thumbnail scaliert und dann darstellt.

Kennt jemand für so einen Anwendungsfall performantere Methoden?

Gruß
jogep
 

Leroy42

Top Contributor
Richtig! Auch Windows kocht nur mit Wasser und merkt sich die Thumbnails
in einer (normalerweise) versteckten Datei.

Ich glaube, die heißt auch irgendetwas mit "thumbnail" ???:L
 

jogep

Mitglied
erstmal vielen Dank für den Link und die Tipps.

Bei Ordnern mit wenigen Bilder funktioniert das ja schon einigermaßen gut.
Aber bei Ordner mit mehr als 100 Bildern Dauert es fast 1 Minute bis alles dargestellt ist.
Ok das könnte man überbrücken aber der Speicherverbrauch springt um fast 1GB in die Höhe.


Wie machen das die Linuxprogramme (Konqueror) ? Die haben doch auch keine Thumbs.db

Gruß
jogep
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben