Heim >Java >javaLernprogramm >Wie passt man die JPEG-Komprimierungsstufe mit ImageIO in Java an?
Einstellen der JPEG-Komprimierungsstufe mit ImageIO in Java
Wenn Sie ImageIO verwenden, um ein BufferedImage als JPEG zu speichern, müssen Sie möglicherweise Anpassungen vornehmen die Komprimierungsstufe. Dieser Parameter ist in der grundlegenden ImageIO-Schreibmethode nicht ohne weiteres ersichtlich.
Um die Komprimierungsstufe festzulegen, können Sie direkt von ImageIO aus auf den ImageWriter zugreifen. Hier ist ein Beispiel:
<code class="java">ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next(); ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpgWriteParam.setCompressionQuality(0.7f);</code>
Beachten Sie, dass ImageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT) erforderlich ist, um die explizite Qualitätseinstellung zu aktivieren. Der Komprimierungsqualitätswert reicht von 0,0f (maximale Komprimierung) bis 1,0f (maximale Qualität).
Um den Schreibvorgang abzuschließen, verwenden Sie ImageWriter.setOutput, um einen ImageOutputStream festzulegen. Während Sie den generischen Objekttyp verwenden können, wird normalerweise empfohlen, FileImageOutputStream für das direkte Schreiben von Dateien oder MemoryCacheImageOutputStream für Ausgabestreams wie ByteArrayOutputStream zu verwenden.
Das obige ist der detaillierte Inhalt vonWie passt man die JPEG-Komprimierungsstufe mit ImageIO in Java an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!