Hallo,
ich möchte ein BufferedImage in der Qulität mindern. Ausgangspunkt ist ein BufferedImage und Ziel ist ein neues komprimiertes BufferedImage.
Hab das Beispiel gefunden welches eine JPG erzeugt und hab nun versucht dieses umzuschreiben.
Hab schon viel Probiert aber es will nie. Er meckert immer beim "write", dass ich kein Output setze.
Also ich will keine jpg sondern nur ein neues BufferdImage (bi_komp) da ich mit dem noch weiter arbeiten muss.
Kann mir bitte jemand helfen?
MfG
Denis
ich möchte ein BufferedImage in der Qulität mindern. Ausgangspunkt ist ein BufferedImage und Ziel ist ein neues komprimiertes BufferedImage.
Hab das Beispiel gefunden welches eine JPG erzeugt und hab nun versucht dieses umzuschreiben.
Hab schon viel Probiert aber es will nie. Er meckert immer beim "write", dass ich kein Output setze.
Code:
BufferedImage bi = null;
BufferedImage bi_komp = null;
bi = ImageIO.read(new File("C:\test.bmp"));
Iterator iter = ImageIO.getImageWritersByFormatName( "jpg" );
if ( iter.hasNext() )
{
ImageWriter writer = (ImageWriter) iter.next();
ImageOutputStream ios;
try {
ios = ImageIO.createImageOutputStream(bi);
writer.setOutput(ios);
ImageWriteParam iwparam = writer.getDefaultWriteParam();
iwparam.setCompressionMode( ImageWriteParam.MODE_EXPLICIT ) ;
iwparam.setCompressionQuality( 0.5F );
writer.write( null, new IIOImage(bi_komp, null, null), iwparam );
ios.flush();
writer.dispose();
ios.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
Also ich will keine jpg sondern nur ein neues BufferdImage (bi_komp) da ich mit dem noch weiter arbeiten muss.
Kann mir bitte jemand helfen?
MfG
Denis