F
Freecastle
Gast
Hallo,
ich habe ein Programm, welches unter anderem aus einem Ordner alle Bilder lädt und diese dann zur besseren Ansicht verkleinert (z.B. 64x64 Pixel) darstellt. Diese Bilder können bis zu 1,5 Mb groß sein.
Wenn ich z.B. aus einem Ordner so an die 15 Bilder lade, dann dauert das schon *sehr* lange. Also ich denke 2-3 Minuten sind dafür absolut nicht akzeptabel.
Meine Vorgehensweise ist die folgende: Ich lade jedes Bild der Reihe nach mit ImageIO.read(). Zum Skalieren erzeuge ich mit der Methode getScaledInstance() (von BufferedImage) ein Image das die korrekte Größe hat (also z.B. 64x64). Daraufhin erzeuge ich ein neues BufferedImage mit dieser Größe und zeichne mit drawImage() das skalierte Bild darauf. Dieses Image platziere ich dann in ein Panel (welches natürlich auch diese Größe hat). Funktionieren tut das einwandfrei... aber wie gesagt die Performance lässt sehr zu wünschen übrig. Da gibts doch bestimmt noch bessere Wege, damit das ganze effizienter wird, oder ?
Ich weiß auch nicht, ob das hier das richtige Forum dafür ist... evtl. passt das auch besser ins Swing-Forum...
Naja bin jedensfalls für jede Hilfe dankbar
ich habe ein Programm, welches unter anderem aus einem Ordner alle Bilder lädt und diese dann zur besseren Ansicht verkleinert (z.B. 64x64 Pixel) darstellt. Diese Bilder können bis zu 1,5 Mb groß sein.
Wenn ich z.B. aus einem Ordner so an die 15 Bilder lade, dann dauert das schon *sehr* lange. Also ich denke 2-3 Minuten sind dafür absolut nicht akzeptabel.
Meine Vorgehensweise ist die folgende: Ich lade jedes Bild der Reihe nach mit ImageIO.read(). Zum Skalieren erzeuge ich mit der Methode getScaledInstance() (von BufferedImage) ein Image das die korrekte Größe hat (also z.B. 64x64). Daraufhin erzeuge ich ein neues BufferedImage mit dieser Größe und zeichne mit drawImage() das skalierte Bild darauf. Dieses Image platziere ich dann in ein Panel (welches natürlich auch diese Größe hat). Funktionieren tut das einwandfrei... aber wie gesagt die Performance lässt sehr zu wünschen übrig. Da gibts doch bestimmt noch bessere Wege, damit das ganze effizienter wird, oder ?
Ich weiß auch nicht, ob das hier das richtige Forum dafür ist... evtl. passt das auch besser ins Swing-Forum...
Naja bin jedensfalls für jede Hilfe dankbar