java中JPEGImageEncoder的用法?

2023-03-17 01:35:37 5

下面是经过重新编写并排版分段后的代码:

String srcFileName = "x:dd est.jpg"; // 源图像文件路径 String destFileName = "x:野橡谈dd est.jpg"; // 目标图像文件路径

// 读取源图像文件并获取图像宽度、高度 BufferedImage originalPic = ImageIO.read(new FileInputStream(srcFileName)); int imageWidth = originalPic.getWidth(); int imageHeight = originalPic.getHeight();

// 创建新的图像缓冲对象,并将原图像转换为黑白图像 BufferedImage newBufferedImage = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_3BYTE_BGR); ColorConvertOp cco = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); cco.filter(originalPic, newBufferedImage);

// 将黑白图像写入目标图像文件 FileOutputStream fos = new FileOutputStream(destFileName); if (destFileName.toLowerCase().endsWith(".gif")) { ImageIO.write(newBufferedImage, "gif", fos); } if (destFileName.toLowerCase().endsWith(".png")) { ImageIO.write(newBufferedImage, "png", fos); } if ((destFileName.toLowerCase().endsWith(".jpg")) || (destFileName.toLowerCase().endsWith(".jpeg"))) { // 针对jpeg、jpg设置输出编码 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(newBufferedImage); param.setQuality(1.0F, false); encoder.encode(newBufferedImage); }

fos.flush(); fos.close();

// 重点解释:针对jpeg、jpg设置输出编码 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);

爱网站

Linux、centOS、Ubuntu、Windows操作系统下的ECS云服务器、vps虚拟空间、建站主机到期停止异常等状态监测,宝塔面板Bt、小皮面板PHPStudy、IIS、Apache、Nginx、XAMPP、wamp建站环境意外故障监测,php+MySql、asp、java、html等建站程序运行故障监测,域名状态、SSL证书状态监测,网站301、302、404、500错误代码及网站无法访问通知提醒,全国多节点测试网站速度及网络攻击!

网站服务

扫一扫,关注我们

桂ICP备2022009721号-1