java设置图片质量_的Java如何设置JPG质量

只是想获得一些编辑的代码,使输出JPG质量是不是默认的低品质设置的Java如何设置JPG质量

try

{

ImageIO.write(var6, "jpg", var7);

}

.....当前正在使用。

我看了一些其他java设置质量的例子,不是很熟悉Java我很难理解如何插入东西和重做一些例子,我已经看到使用Java来设置图像质量。

ImageWriteParam iwparam = new JPEGImageWriteParam(Locale.getDefault());

iwparam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);

iwparam.setCompressionQuality(quality);

writer.write(null, new IIOImage(image, null, null), iwparam);

这里是我试图找到工作的代码........

public static String func_74292_a(File par0File, String par1Str, int par2, int par3)

{

File var4 = new File(par0File, "screenshots");

var4.mkdir();

int var5 = par2 * par3;

if (field_74293_b == null || field_74293_b.capacity() < var5)

{

field_74293_b = BufferUtils.createIntBuffer(va

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 中,可以使用 `javax.imageio.ImageIO` 类来读取和写入图像文件。如果要设置 JPG 图像的质量,可以通过以下步骤来实现: 1. 读取 JPG 图像文件: ```java BufferedImage image = ImageIO.read(new File("image.jpg")); ``` 2. 创建一个 `javax.imageio.ImageWriter` 对象,并设置输出参数: ```java ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next(); ImageWriteParam param = writer.getDefaultWriteParam(); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(0.8f); // 设置 JPG 图像的质量 ``` 在上面的代码中,我们使用了 `getImageWritersByFormatName` 方法来获取 JPG 格式的 `ImageWriter` 对象,并使用 `getDefaultWriteParam` 方法来获取默认的输出参数。然后,我们将压缩模式设置为 `MODE_EXPLICIT`,并使用 `setCompressionQuality` 方法设置 JPG 图像的质量,这里设置的是 0.8f。 3. 创建一个 `javax.imageio.IIOImage` 对象,并将图像数据和输出参数传递给它: ```java IIOImage iioImage = new IIOImage(image, null, null); iioImage.setMetadata(null); ``` 在上面的代码中,我们使用 `IIOImage` 类来封装图像数据和输出参数。由于我们不需要元数据,所以将其设置为 `null`。 4. 将图像数据写入文件: ```java File output = new File("output.jpg"); ImageOutputStream outputStream = ImageIO.createImageOutputStream(output); writer.setOutput(outputStream); writer.write(null, iioImage, param); outputStream.close(); writer.dispose(); ``` 在上面的代码中,我们首先创建一个输出文件和一个 `ImageOutputStream` 对象,然后将其传递给 `ImageWriter` 对象。最后,我们调用 `write` 方法将图像数据写入文件,然后关闭输出流和 `ImageWriter` 对象。 完整代码示例: ```java import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import javax.imageio.ImageWriteParam; import javax.imageio.ImageWriter; import javax.imageio.metadata.IIOMetadata; import javax.imageio.stream.ImageOutputStream; import javax.imageio.IIOImage; public class ImageQuality { public static void main(String[] args) throws Exception { BufferedImage image = ImageIO.read(new File("image.jpg")); ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next(); ImageWriteParam param = writer.getDefaultWriteParam(); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionQuality(0.8f); IIOImage iioImage = new IIOImage(image, null, null); iioImage.setMetadata(null); File output = new File("output.jpg"); ImageOutputStream outputStream = ImageIO.createImageOutputStream(output); writer.setOutput(outputStream); writer.write(null, iioImage, param); outputStream.close(); writer.dispose(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值