public void saveComponentToJPEG(Component c,String fileName ) {
try {
int w=c.getWidth();
int h=c.getHeight();
BufferedImage image=(BufferedImage)c.createImage(w,h);
Graphics2D g2=image.createGraphics();
c.print(g2);
BufferedOutputStream bos =
new BufferedOutputStream( new FileOutputStream( fileName ));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( bos );
JPEGEncodeParam jep = encoder.getDefaultJPEGEncodeParam(image);
jep.setQuality( 1.0f, false );
encoder.setJPEGEncodeParam( jep );
encoder.encode( image );
bos.close();
}
catch ( Exception e ) {
e.printStackTrace();
}
}
try {
int w=c.getWidth();
int h=c.getHeight();
BufferedImage image=(BufferedImage)c.createImage(w,h);
Graphics2D g2=image.createGraphics();
c.print(g2);
BufferedOutputStream bos =
new BufferedOutputStream( new FileOutputStream( fileName ));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( bos );
JPEGEncodeParam jep = encoder.getDefaultJPEGEncodeParam(image);
jep.setQuality( 1.0f, false );
encoder.setJPEGEncodeParam( jep );
encoder.encode( image );
bos.close();
}
catch ( Exception e ) {
e.printStackTrace();
}
}
本文介绍了一个Java方法,用于将Swing或AWT组件保存为JPEG图片格式。该方法首先获取组件的尺寸,然后创建一个BufferedImage对象来捕获组件的视觉内容,并使用JPEGCodec将其编码为JPEG文件。
455

被折叠的 条评论
为什么被折叠?



