Skip to content

Commit f06dc84

Browse files
committed
优化生成群头像
1 parent ea2e334 commit f06dc84

1 file changed

Lines changed: 28 additions & 27 deletions

File tree

src/main/java/cn/wildfirechat/app/avatar/GroupAvatarUtil.java

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,20 @@ public static void getCombinationOfHead(List<URL> paths, File targetFile)
2828
List<BufferedImage> bufferedImages = new ArrayList<BufferedImage>();
2929
// 压缩图片所有的图片生成尺寸同意的 为 50x50
3030

31-
int imageSize = 33;
32-
if (paths.size() <= 4) {
33-
imageSize = 50;
31+
int width = 112; // 这是画板的宽高
32+
int height = 112; // 这是画板的高度
33+
34+
int imageSize = 36;
35+
if (paths.size() == 1) {
36+
imageSize = 112;
37+
} else if (paths.size() <= 4) {
38+
imageSize = 54;
3439
}
3540

3641
for (int i = 0; i < paths.size(); i++) {
3742
bufferedImages.add(resize2(paths.get(i), imageSize, imageSize, true));
3843
}
3944

40-
int width = 112; // 这是画板的宽高
41-
42-
int height = 112; // 这是画板的高度
43-
4445
// BufferedImage.TYPE_INT_RGB可以自己定义可查看API
4546

4647
BufferedImage outImage = new BufferedImage(width, height,
@@ -64,71 +65,71 @@ public static void getCombinationOfHead(List<URL> paths, File targetFile)
6465
for (int i = 1; i <= bufferedImages.size(); i++) {
6566
if (bufferedImages.size() == 9) {
6667
if (i <= 3) {
67-
g2d.drawImage(bufferedImages.get(i - 1), 33 * i + 3 * i - 33, 4, null);
68+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (i - 1), 0, null);
6869
} else if (i <= 6) {
69-
g2d.drawImage(bufferedImages.get(i - 1), 33 * j + 3 * j - 33, 41, null);
70+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (j - 1), 38, null);
7071
j++;
7172
} else {
72-
g2d.drawImage(bufferedImages.get(i - 1), 33 * k + 3 * k - 33, 77, null);
73+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (k - 1), 76, null);
7374
k++;
7475
}
7576
} else if (bufferedImages.size() == 8) {
7677
if (i <= 2) {
77-
g2d.drawImage(bufferedImages.get(i - 1), 33 * i + 4 * i - 18, 4, null);
78+
g2d.drawImage(bufferedImages.get(i - 1), 19 + 38 * (i - 1), 0, null);
7879
} else if (i <= 5) {
79-
g2d.drawImage(bufferedImages.get(i - 1), 33 * j + 3 * j - 33, 41, null);
80+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (j - 1), 38, null);
8081
j++;
8182
} else {
82-
g2d.drawImage(bufferedImages.get(i - 1), 33 * k + 3 * k - 33, 77, null);
83+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (k - 1), 76, null);
8384
k++;
8485
}
8586
} else if (bufferedImages.size() == 7) {
8687
if (i <= 1) {
87-
g2d.drawImage(bufferedImages.get(i - 1), 39, 4, null);
88+
g2d.drawImage(bufferedImages.get(i - 1), 38, 0, null);
8889
} else if (i <= 4) {
89-
g2d.drawImage(bufferedImages.get(i - 1), 33 * j + 3 * j - 33, 41, null);
90+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (j - 1), 38, null);
9091
j++;
9192
} else {
92-
g2d.drawImage(bufferedImages.get(i - 1), 33 * k + 3 * k - 33, 77, null);
93+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (k - 1), 76, null);
9394
k++;
9495
}
9596
} else if (bufferedImages.size() == 6) {
9697
if (i <= 3) {
97-
g2d.drawImage(bufferedImages.get(i - 1), 33 * i + 3 * i - 33, 15, null);
98+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (i - 1), 19, null);
9899
} else {
99-
g2d.drawImage(bufferedImages.get(i - 1), 33 * j + 3 * j - 33, 58, null);
100+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (j - 1), 57, null);
100101
j++;
101102
}
102103
} else if (bufferedImages.size() == 5) {
103104
if (i <= 2) {
104-
g2d.drawImage(bufferedImages.get(i - 1), 33 * i + 4 * i - 18, 15, null);
105+
g2d.drawImage(bufferedImages.get(i - 1), 19 + 38 * (i - 1), 19, null);
105106
} else {
106-
g2d.drawImage(bufferedImages.get(i - 1), 33 * j + 3 * j - 33, 58, null);
107+
g2d.drawImage(bufferedImages.get(i - 1), 38 * (j - 1), 57, null);
107108
j++;
108109
}
109110
} else if (bufferedImages.size() == 4) {
110111
if (i <= 2) {
111-
g2d.drawImage(bufferedImages.get(i - 1), 50 * i + 4 * i - 50, 4, null);
112+
g2d.drawImage(bufferedImages.get(i - 1), 58 * (i - 1), 0, null);
112113
} else {
113-
g2d.drawImage(bufferedImages.get(i - 1), 50 * j + 4 * j - 50, 58, null);
114+
g2d.drawImage(bufferedImages.get(i - 1), 58 * (j - 1), 58, null);
114115
j++;
115116
}
116117
} else if (bufferedImages.size() == 3) {
117118
if (i <= 1) {
118-
g2d.drawImage(bufferedImages.get(i - 1), 31, 4, null);
119+
g2d.drawImage(bufferedImages.get(i - 1), 29, 0, null);
119120
} else {
120-
g2d.drawImage(bufferedImages.get(i - 1), 50 * j + 4 * j - 50, 58, null);
121+
g2d.drawImage(bufferedImages.get(i - 1), 58 * (j - 1), 58, null);
121122
j++;
122123
}
123124

124125
} else if (bufferedImages.size() == 2) {
125126

126-
g2d.drawImage(bufferedImages.get(i - 1), 50 * i + 4 * i - 50,
127-
31, null);
127+
g2d.drawImage(bufferedImages.get(i - 1), 58 * (i - 1),
128+
29, null);
128129

129130
} else if (bufferedImages.size() == 1) {
130131

131-
g2d.drawImage(bufferedImages.get(i - 1), 31, 31, null);
132+
g2d.drawImage(bufferedImages.get(i - 1), 0, 0, null);
132133

133134
}
134135

0 commit comments

Comments
 (0)