这里直接上代码,由于这个是一个 awt 编程,相信很多同学应该没有注意这一块。
我也是自己的小程序有这个需求,才关注到这个问题。
1).设置图片大小
设置图片大小的公共方法
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;
}
在重组方法中设置图片大小
public static String overlapImage(){
try {
//设置图片大小
BufferedImage background = resizeImage(618,1000, ImageIO.read(new File("这里是背景图片的路径!")));
BufferedImage qrCode = resizeImage(150,150,ImageIO.read(new File("这里是插入二维码图片的路径!")));
}catch (Exception e){
e.printStackTrace();
}
return null;
}
2).在背景图片某个位置写入文字信息
利用 Graphics2D 工具绘制,将文字写入到图片当中
//在背景图片中添加入需要写入的信息,例如:欢迎大家使用我的淘宝返利机器人,居家必备,省钱购物专属小秘书!
String message01 = "欢迎大家使用我的淘宝返利机器人";
String message02 = "居家必备,省钱购物专属小秘书!";
Graphics2D g = background.createGraphics();
g.setColor(Color.white);
g.setFont(new Font("微软雅黑",Font.BOLD,20));
//这里将信息和信息对应的位置写入
g.drawString(message01,530 ,190);
g.drawString(message02,530 ,220);
g.dispose();
ImageIO.write(background, "jpg", new File("这里是一个输出图片的路径"));
3).在背景图中间插入其他图片信息
最后在背景中添加二维码图片
g.drawImage(qrCode, 700, 240, qrCode.getWidth(), qrCode.getHeight(), null);
这些是关于实现的主要方法,整个代码请看原博客:Java 实现多图片和文字编辑成一张图片
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于