Progressive JPEGs in Java?



  • hallo zusammen,

    ich möchte von einem java-programm aus erzeugte oder geladene bilder progressiv JPEG-kompremieren und in einer datenbank abspeichern. von dort aus sollen sie von einem applet geladen werden und, wärend des ladens, bereits angezeigt werden (deswegen ja eben auch progressive kompression). frage: wie macht man das?

    also das abspeichern der daten in die datenbank sowie das laden aus der datenbank ist kein problem, das habe ich alles schon gelöst. nur arbeitet aktuell das alles mit ganz normalen baseline-kompremierten JPEGs und da die bilder 1024x768 und größer sind, müssen die user aktuell auf jedes einzelne bild mehrere sekunden warten (halt je nach internetanschluss des users). mit progressiv gespeicherten bildern, könnten sie derweilen schon weiterarbeiten, wärend das bild noch am laden ist.

    zum speichern habe ich mir bereits ImageIO näher angesehen, aber soweit ich das erkennen konnte, ist es schon sehr stark auf das lokale abspeichern von JPEGs beschränkt. ich würde ja gerne com.sun.image.codec.jpeg.JPEGImageEncoder nutzen, da diese klasse bei mir bereits zum encodieren der bilder implementiert ist. nur weiß ich leider nicht, wie ich das entsprechende objekt von com.sun.image.codec.jpeg.JPEGEncodeParam setzen muss, damit die kompression des JPEGImageEncoders den progressiven algorithmus verwendet.

    zum laden habe ich bislang das entsprechende gegenstück com.sun.image.codec.jpeg.JPEGImageDecoder verwendet. nur sehe ich das problem, daß ich dieser klasse die kompletten bilddaten auf einmal übergeben muss, damit ich ein bild erhalte. wenn ich den vorteil von progressiv gespeicherten bilder nutzen will, benötige ich einen decoder, der sich mit einem teil der daten zufrieden gibt.

    ich würde bei beiden problemen notfalls auch auf externe lösungen zurückgreifen, sofern sich keine java-eigene lösung anbietet.

    vielen dank für eure hilfe

    wayne


Anmelden zum Antworten