public static void writeJpeg(RenderedImage im, Object targetJpg, float quality) {
        ImageWriter writer = null;
        try {
            writer = ImageIO.getImageWritersBySuffix("jpg").next();
            ImageWriteParam param = writer.getDefaultWriteParam();
            param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
            param.setCompressionQuality(quality);
            ImageOutputStream os = ImageIO.createImageOutputStream(targetJpg);
            writer.setOutput(os);
            writer.write((IIOMetadata) null, new IIOImage(im, null, null), param);
            os.flush();
            os.close();
        }
        catch (IOException e) {
            throw Lang.wrapThrow(e);
        }
        finally {
            if (writer != null) {
                try {
                    writer.dispose();
                }
                catch (Throwable e) {}
            }
        }
    }
public static void writeJpeg(RenderedImage im, Object targetJpg, float quality) {
        ImageWriter writer = null;
        try {
            writer = ImageIO.getImageWritersBySuffix("jpg").next();
            ImageWriteParam param = writer.getDefaultWriteParam();
            param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
            param.setCompressionQuality(quality);
            ImageOutputStream os = ImageIO.createImageOutputStream(targetJpg);
            writer.setOutput(os);
            writer.write((IIOMetadata) null, new IIOImage(im, null, null), param);
            os.flush();
            os.close();
        }
        catch (IOException e) {
            throw Lang.wrapThrow(e);
        }
        finally {
            if (writer != null) {
                try {
                    writer.dispose();
                }
                catch (Throwable e) {}
            }
        }
    }
public static void writeJpeg ( RenderedImage im , Object targetJpg , float quality ) { ImageWriter writer = null ; try { writer = ImageIO . getImageWritersBySuffix ( "jpg" ) . next ( ) ; ImageWriteParam param = writer . getDefaultWriteParam ( ) ; param . setCompressionMode ( ImageWriteParam . MODE_EXPLICIT ) ; param . setCompressionQuality ( quality ) ; ImageOutputStream os = ImageIO . createImageOutputStream ( targetJpg ) ; writer . setOutput ( os ) ; writer . write ( ( IIOMetadata ) null , new IIOImage ( im , null , null ) , param ) ; os . flush ( ) ; os . close ( ) ; } catch ( IOException e ) { throw Lang . wrapThrow ( e ) ; } finally { if ( writer != null ) { try { writer . dispose ( ) ; } catch ( Throwable e ) { } } } }
写入一个 JPG 图像

@param im
图像对象
@param targetJpg
目标输出 JPG 图像文件
@param quality
质量 0.1f ~ 1.0f
写入一个 JPG 图像