分享代码,java根据用户昵称生成头像,类似于gitee
JAVA代码:
import java.awt.*;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.imageio.ImageIO;
/**
* 根据姓名创建图片
*/
public class AvatarUtils {
/**
* @throws IOException
* @throws
**/
public static void main(String[] args) throws IOException {
String name = "拾光";
generateImg(name, "C:/avatar", name);
}
/**
* 绘制字体头像
* 如果是英文名,只显示首字母大写
* 如果是中文名,只显示最后两个字
* @param name 生成头像的用户名
* @param outputPath 图片保存的位置
* @param outputName 保存图片的文件名
* @throws IOException
*/
public static void generateImg(String name, String outputPath, String outputName)
throws IOException {
int width = 100;
int height = 100;
int nameLen = name.length();
String nameWritten;
//如果用户输入的姓名少于等于2个字符,不用截取
if (nameLen <= 2) {
nameWritten = name;
} else {
//如果用户输入的姓名大于等于3个字符,截取后面两位
String first = name.substring(0, 1);
if (isChinese(first)) {
//截取倒数两位汉字