Java生成图片
// 画海报
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;
}
}
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭