GeXiangDong

精通Java、SQL、Spring的拼写,擅长Linux、Windows的开关机

0%

java生成图片的例子

用Java生成图片,在图上叠加图,图上写字的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;

public class ImageDrawer {

public static void main(String[] argvs) throws Exception {
//获取一张图片做底图
BufferedImage bg = ImageIO.read(ImageDrawer.class.getClassLoader().getResourceAsStream("bg.jpg"));

Graphics2D g = bg.createGraphics();

//设置字体/颜色
Font font = new Font("微软雅黑", Font.PLAIN, 50);
g.setFont(font);
g.setColor(Color.BLACK);

g.drawString("文字", 200, 150);

//把另外一个图描画在底图上
BufferedImage img = ImageIO.read(ImageDrawer.class.getClassLoader().getResourceAsStream("icon.jpg"));
//这个方法画全图,按照后两个参数设置的宽高缩放
g.drawImage(img, 200, 200, 100, 100, null);

//截取图片的一部分
BufferedImage subImg = img.getSubimage(70, 70, 120, 120);
g.drawImage(subImg, 20, 20, 60, 60, null);

//保存图片
ImageIO.write(bg, "jpeg", new File("target/newimg.jpg"));
}
}