Tiff - wo kann ich Auflösung und Farbtiefe einstellen?

Status
Nicht offen für weitere Antworten.

aldi15

Mitglied
Hallo alle zusammen, ich wälze gerade folgendes Problemchen:
ich habe ein Image, das ich verkleinere durch ein resampling. Das Image wird aus einem tiff eingelesen, weiterverarbeitet und wieder als tiff abgespeichert. Allerdings ist es jetzt viel größer als vorher. Das Quell-tiff hatte eine Auflösung von 300x300 dpi und 8Bit Farbtiefe. Nach dem Speichern hat es irgendeine höhere Auflösung (IrfanView zeigt keine Auflösung für das Bild an) und eine Farbtiefe von 24Bit.
Mir ist nicht ganz klar, bei welchem Schritt die Parameter eingestellt werden. Von der Logik her müsste das schon beim resampling (Graphics2D.drawImage) passieren. Da habe ich allerdings nichts gefunden.
Eine weitere Möglichkeit ist beim Schreiben der Datei mit den TIFFImageWriteParam., aber auch da habe ich irgendwie nichts passendes gefunden.
So schaut mein Code aus (Ausschnitte):
resampling:
Code:
// Draw the scaled image
BufferedImage objDownsample = new BufferedImage(iTargetWidth,iTargetHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = objDownsample.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(image, 0, 0, iTargetWidth, iTargetHeight, null);
return objDownsample;
speichern:
Code:
// setup writer
ios = ImageIO.createImageOutputStream(tiffFile);
writer.setOutput(ios);
TIFFImageWriteParam writeParam = new TIFFImageWriteParam(Locale.GERMAN);
writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
writeParam.setCompressionType("PackBits");
// convert to an IIOImage
IIOImage iioImage = new IIOImage(image, null, null);
// write it!
writer.write(null, iioImage, writeParam);
Kann mir jemand einen Tipp geben, wo ich die ursprüngliche Auflösung und Farbtiefe einstellen kann?
Danke
Albrecht
 

aldi15

Mitglied
Hab' ich mir natürlich auch schonmal angeschaut. Stimmt, ich kann hier keine Möglichkeit entdecken. Das heißt aber nicht, dass es keine gibt :wink: Ich kann mir nicht vorstellen, dass man etwas implementiert und dann nicht alle notwendigen Möglichkeiten mit einbaut. Evtl. gibt es noch etwas anderes, mit dem man die Parameter einstellen kann?
Grüße
Albrecht
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben