吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1256|回复: 2
收起左侧

[已解决] java Graphics2D进行图片合成后图片文件变小了

[复制链接]
三木猿 发表于 2021-12-24 10:50
本帖最后由 三木猿 于 2021-12-26 17:27 编辑

是有什么参数需要设置吗,有人知道吗,还是说这个大小的变化不影响?这个大小应该跟画质有关吧
image.png
image.png

[Java] 纯文本查看 复制代码
public static BufferedImage watermark(BufferedImage buffImg, BufferedImage waterImg, int x, int y, float alpha) throws IOException {
        // 获取底图
        // BufferedImage buffImg = ImageIO.read(file);
        // 获取层图
        // BufferedImage waterImg = ImageIO.read(waterFile);
        // 创建Graphics2D对象,用在底图对象上绘图
        Graphics2D g2d = buffImg.createGraphics();
        int waterImgWidth = waterImg.getWidth();// 获取层图的宽度
        int waterImgHeight = waterImg.getHeight();// 获取层图的高度
        // 在图形和图像中实现混合和透明效果
        g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
        // 绘制
        g2d.drawImage(waterImg, x, y, waterImgWidth, waterImgHeight, null);

        g2d.dispose();// 释放图形上下文使用的系统资源
        return buffImg;
    }

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 三木猿 发表于 2021-12-24 15:17
按网上的说法,是ImageIO.write方法会损失质量,从github上找到这个方法,改进的代码
但是输出的图片质量还是小了很多
[Java] 纯文本查看 复制代码
    public static byte[] toJpg(BufferedImage image,String imgType) throws IOException {
        // Manually get the ImageWriter to be able to adjust quality
        ImageWriter writer = ImageIO.getImageWritersBySuffix(imgType).next();
        ImageWriteParam imageWriterParam = writer.getDefaultWriteParam();
        imageWriterParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
        imageWriterParam.setCompressionQuality(1);
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        writer.setOutput(new MemoryCacheImageOutputStream(output));
        writer.write(null, new IIOImage(image, null, null), imageWriterParam);
        writer.dispose();
        return output.toByteArray();
    }

 楼主| 三木猿 发表于 2021-12-26 17:29
本帖最后由 三木猿 于 2021-12-26 17:33 编辑

无解呀,有谁懂的吗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 17:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表