Gute Bildverarbeitungs-Bibliothek?

Hallo,

ich suche eine gute Java-Bibliothek, mit der man Bilder „bearbeiten“ kann. Also ich will natürlich keinen Java-GIMP produzieren, aber ich möchte JPG-, PNG- und TIFF-Dateien lesen und schreiben können, sowie einfache Transformationen machen können (verkleinern, vergrößern, in Graustufen umwandeln). Und - was v.a. wichtig wäre - ich möchte die EXIF-Daten von JPG Dateien lesen - und wenns geht - auch schreiben können.
Kennt da von euch jemand was oder hat sogar schon Erfahrung damit?

Danke schon mal,
deconstruct

Moin

aber ich möchte JPG-, PNG- und TIFF-Dateien lesen
und schreiben können,

ImageIO.read (new File („Dateiname“));

sowie einfache Transformationen machen
können (verkleinern, vergrößern,

Image.getScaled… (Zeilgrösse)

(wie heist die scheiss Methode nochmal… )

in Graustufen umwandeln)

BufferedImage BIN = new BufferedImage (orggrössex,orggrössey, eine der Graustufen-Varianten)
Graphics g = BIN.getGraphics();
g.drawImage (BIN,…)

  • was v.a. wichtig wäre - ich möchte die EXIF-Daten von JPG
    Dateien lesen - und wenns geht - auch schreiben können.

OK, da versagt das Standart-SDK ein bisschen. Theoretisch gehts über javax.imagio, ich hab aber noch nicht raus wie…

cu

Hallo,

aber ich möchte JPG-, PNG- und TIFF-Dateien lesen
und schreiben können,

ImageIO.read (new File („Dateiname“));

Erstmal danke für die Antwort, dann werd ichs erstmal mit Java Bordmitteln probieren. Aber ich konnte in der API aber nirgends lesen, dass ich damit TIFF-Dateien lesen/schreiben kann. Weißt du da mehr?

  • was v.a. wichtig wäre - ich möchte die EXIF-Daten von JPG
    Dateien lesen - und wenns geht - auch schreiben können.

OK, da versagt das Standart-SDK ein bisschen. Theoretisch
gehts über javax.imagio, ich hab aber noch nicht raus wie…

Naja, selber basteln wäre auch ne Lösung. Ich hab jetzt mal eine Bibliothek für EXIF Daten gefunden und werde die mal ausprobieren (http://www.drewnoakes.com/code/exif/)

mfg
deconstruct

Moin

Aber ich konnte in der API aber nirgends
lesen, dass ich damit TIFF-Dateien lesen/schreiben kann. Weißt
du da mehr?

Verdammt, sorry, Macht der Gewohnheit.

Imageio benutzt alle installierten Reader und Writer um Bilder zu lesen. In dem Packet JAI (von sun) sind u.a. welche für tiff drin. (Und JAI installiere ich immer zusammen mit dem SDK…)

Allerdings hilft es das zuerst zu lesen:
http://java.sun.com/developer/sampsource/jai/readme-…

Und in java 1.5 tiger (das jetzt anscheined doch java5 genannte werden soll ??) ist JAI mit drin.

Wenn du rausfinden willst was dein java jetzt kann:

import javax.imageio.*;

public class GetList
{
public static void main(String args[])
{
String readerNames[] = ImageIO.getReaderFormatNames();
printlist(readerNames, „Reader names:“);

String readerMimes[] = ImageIO.getReaderMIMETypes();
printlist(readerMimes, „Reader MIME types:“);

String writerNames[] = ImageIO.getWriterFormatNames();
printlist(writerNames, „Writer names:“);

String writerMimes[] = ImageIO.getWriterMIMETypes();
printlist(writerMimes, „Writer MIME types:“);

}

private static void printlist(String names[], String title)
{
System.out.println(title);
for (int i=0, n=names.length; i

1 „Gefällt mir“

Hallo,

Imageio benutzt alle installierten Reader und Writer um Bilder
zu lesen. In dem Packet JAI (von sun) sind u.a. welche für
tiff drin. (Und JAI installiere ich immer zusammen mit dem
SDK…)

Ah, JAI. Hatte noch nie was mit Bild-Bearbeitung mit Java zu tun, daher befand sich JAI bis heute auch noch nie auf meinem Rechner :wink:
Aber es schaut so aus, als wenns sämtliche meiner Erwartungen erfüllen würde. Thx.

Wenn du rausfinden willst was dein java jetzt kann:

Nunja, JPG und PNG kanns, aber das hab ich mir schon gedacht, sonst könnte es ja die Icons in Swing-Anwendungen z.B. nicht laden. Tiff fehlt also, aber da nehm ich ja dann eh die JAI-Sachen.

Naja, selber basteln wäre auch ne Lösung.

urgh. Theoretisch müssten die EXIF-Daten in den
IIOMetadata-Objecten auftauchen. Das hab ich auchmal getestet,
aber bei 1.5beta1 gibts nur NullpointerExceptions …

Naja, wird halt alles auch noch nicht fertig sein, denke ich. Derweilen nehm ich mal die Bib die ich gefunden hab, wenns im SDK ist, kann mans ja noch immer umstellen.

Grüße,
deconstruct