Hallo Leute,
Verzweifel gerade daran ein Bild (mit hoher Qualität) abzuspeichern. "png" und "gif" funktioneiren sauber mit
und ich seh keine Qualitätsmangel, aber bei "jpg" erzeugt der eine jpg-Datei mit zwar dem Bild, aber einem rötlichen Ton darüber habe ich das Gefühl. Habe folgendes beides ausprobiert:
Wisst ihr eine besser (bzw. verständlichere) und schönere Lösung?
Verzweifel gerade daran ein Bild (mit hoher Qualität) abzuspeichern. "png" und "gif" funktioneiren sauber mit
Code:
ImageIO.write()
Java:
else if (extension.toLowerCase().equals("jpg"))
{
ImageIO.write(
img,
"jpeg", // oder "jpg" - geht beides nicht so richtig
file);
}
Java:
else if (extension.toLowerCase().equals("jpg"))
{
Iterator<ImageWriter> iterator = ImageIO
.getImageWritersByFormatName("jpg");
ImageWriter imageWriter = iterator.next();
ImageWriteParam imageWriteParam = imageWriter
.getDefaultWriteParam();
imageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
imageWriteParam.setCompressionQuality(1);
ImageOutputStream imageOutputStream = new MemoryCacheImageOutputStream (new FileOutputStream(file));
imageWriter.setOutput(imageOutputStream);
IIOImage iioimage = new IIOImage(img, null, null);
imageWriter.write(null, iioimage, imageWriteParam);
imageOutputStream.flush();
}
Wisst ihr eine besser (bzw. verständlichere) und schönere Lösung?