// 画海报


import cn.hutool.core.util.RandomUtil;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;

/**
 * @author Chen
 * @date 2021/7/23
 */
public class HaiBao {
    public static String overlapImage(String backgroundPath,String qrCodePath, String message01, String message02,String outPutPath) throws Exception {

        // 设置图片大小
        // 背景图
        BufferedImage background = resizeImage(500, 500, ImageIO.read(new File(backgroundPath)));
        // 二维码
        BufferedImage qrCode = resizeImage(200, 200, ImageIO.read(new File(qrCodePath)));
        // 背景图加上需要写入的信息
        Graphics2D g = background.createGraphics();
        g.setColor(Color.BLACK);
        g.setFont(new Font("微软雅黑", Font.BOLD, 20));
        g.drawString(message01, 200, 220);
        g.drawString(message02, 190, 240);
        // 在背景图上添加二维码
        g.drawImage(qrCode, 150, 0, qrCode.getWidth(),qrCode.getHeight(), null);
        g.dispose();
        // 输出图片
        String image = outPutPath+"\\"+ RandomUtil.randomString(32)+".jpg";
        ImageIO.write(background, "jpg", new File(image));
        return image;
    }

    public static BufferedImage resizeImage(int x, int y, BufferedImage bfi) {
        BufferedImage bufferedImage = new BufferedImage(x,y,BufferedImage.TYPE_INT_RGB);
        bufferedImage.getGraphics().drawImage(bfi.getScaledInstance(x,y, Image.SCALE_SMOOTH), 0, 0, null);
        return bufferedImage;
    }
}