|
@@ -25,6 +25,7 @@ import java.util.regex.Pattern;
|
|
|
*/
|
|
*/
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
public class AvatarUtil {
|
|
public class AvatarUtil {
|
|
|
|
|
+ private final static Color defaultColor=new Color(2, 168,250);
|
|
|
private volatile static Map<String, String> avatarMap=new WeakHashMap<>();
|
|
private volatile static Map<String, String> avatarMap=new WeakHashMap<>();
|
|
|
private static Font singleWordFont;
|
|
private static Font singleWordFont;
|
|
|
|
|
|
|
@@ -48,15 +49,11 @@ public class AvatarUtil {
|
|
|
* 圆角大小
|
|
* 圆角大小
|
|
|
*/
|
|
*/
|
|
|
private static final Integer FILLET=150;
|
|
private static final Integer FILLET=150;
|
|
|
- /**
|
|
|
|
|
- * 绘制字体头像
|
|
|
|
|
- * 如果是英文名,只显示首字母大写
|
|
|
|
|
- * 如果是中文名,只显示最后两个字
|
|
|
|
|
- * @param name
|
|
|
|
|
- * @throws IOException
|
|
|
|
|
- * @return 头像的base64存储
|
|
|
|
|
- */
|
|
|
|
|
- public static String generateAvatar(String name){
|
|
|
|
|
|
|
+
|
|
|
|
|
+ public static String generateAvatar(String name,Color color){
|
|
|
|
|
+ if(color==null){
|
|
|
|
|
+ color=defaultColor;
|
|
|
|
|
+ }
|
|
|
String key=new String(StrUtil.trim(name));;
|
|
String key=new String(StrUtil.trim(name));;
|
|
|
String result = avatarMap.get(key);
|
|
String result = avatarMap.get(key);
|
|
|
if(StrUtil.isNotBlank(result)){
|
|
if(StrUtil.isNotBlank(result)){
|
|
@@ -91,7 +88,7 @@ public class AvatarUtil {
|
|
|
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
|
|
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
|
|
|
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
|
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
|
|
|
|
|
|
|
- g2.setBackground(getRandomColor());
|
|
|
|
|
|
|
+ g2.setBackground(color);
|
|
|
|
|
|
|
|
g2.clearRect(0, 0, width, height);
|
|
g2.clearRect(0, 0, width, height);
|
|
|
|
|
|
|
@@ -150,6 +147,17 @@ public class AvatarUtil {
|
|
|
avatarMap.put(key,"data:image/png;base64,"+result);
|
|
avatarMap.put(key,"data:image/png;base64,"+result);
|
|
|
return "data:image/png;base64,"+result;
|
|
return "data:image/png;base64,"+result;
|
|
|
}
|
|
}
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 绘制字体头像
|
|
|
|
|
+ * 如果是英文名,只显示首字母大写
|
|
|
|
|
+ * 如果是中文名,只显示最后两个字
|
|
|
|
|
+ * @param name
|
|
|
|
|
+ * @throws IOException
|
|
|
|
|
+ * @return 头像的base64存储
|
|
|
|
|
+ */
|
|
|
|
|
+ public static String generateAvatar(String name){
|
|
|
|
|
+ return generateAvatar(name,defaultColor);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|