Java编辑图片方法(添加当前时间)

本文章,给大家推荐一种使用Java编辑图片的方法,使用Graphics2D工具类,最近接手一个新需求,需要对pdf文件进行签章,对签章模板图片添加当前时间,再调用pdf签章方法,废话不多说直接上源码;该方法只需传入待修改图片路径,根据返回值判断是否修改成功,修改后的文件自动替换原文件。添加文字内容和样式可根据需求修改,我这里修改坐标取的是中心坐标进行修改。

public boolean modified(String filePath) {
        try {
            // 读取图片文件
            File inputFile = new File(filePath);
            BufferedImage image = ImageIO.read(inputFile);

            if (image == null) {
                System.err.println("无法读取图片,可能文件格式不正确或文件损坏。");
                return false;
            }

            // 获取Graphics2D对象
            Graphics2D g2d = image.createGraphics();

            // 设置文本样式
            g2d.setFont(new Font("黑体", Font.PLAIN, 20)); // 黑体加粗小四
            g2d.setColor(Color.RED); // 红色

            // 准备文本
            String dateText = DateUtils.getDate(); // 替换为当前日期

            // 获取图片中心点坐标
            FontMetrics fm = g2d.getFontMetrics();
            int x = (image.getWidth() - fm.stringWidth(dateText)) / 2;
            int y = ((image.getHeight() - fm.getHeight()) / 2) + fm.getAscent();

            // 绘制文本
            g2d.drawString(dateText, x, y);

            // 释放资源
            g2d.dispose();

            // 保存修改后的图片
            File outputFile = new File(filePath);
            boolean success = ImageIO.write(image, "png", outputFile);

            return success; // 返回修改结果
        } catch (Exception e) {
            e.printStackTrace();
            return false; // 发生异常时返回false
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值