Generate github-style avatar with java awt.
This project was inspired by gabrie-allaigre/avatar-generator.
The artifact has been released to center maven, simply add dependency.
<dependency>
<groupId>com.github.afkbrb</groupId>
<artifactId>github-avatar-generator</artifactId>
<version>1.0.0</version>
</dependency>| Method | Description | Default |
|---|---|---|
| setPadding(int padding) | Set the padding of the avatar. | 32 |
| setCellCount(int cellCount) | Set the number of cells of the avatar. | 5 |
| setCellSize(int cellSize) | Set the size of each cell, both length and height of each cell will be set to it. | 64 |
| setForeColor(Color color) | Set the foreground color of the avatar. | random |
| setForeColors(Color... colors) | Set the foreground color set, the final foreground color will be chosen at random in it. | random |
| setForeColors(List colors) | Set the foreground color set, the final foreground color will be chosen at random in it. | random |
| setTransparent(boolean transparent) | Set the transparency of the avatar. | false |
| setBackColor(Color color) | Set the background color of the avatar. | Color(241, 241, 241) |
Notice
The final foreground color will be decided by the last called setForeColor* method. And if none of these setForeColor* methods are called, the foreground color will be generated at random but will also meet certain conditions to make the color look nice.
| Method | Description |
|---|---|
| void build() | Build the avatar, calling the method each time will create a new avatar image at random according to configuration. |
| BufferedImage generateAndGetAvatar() | Generate a new avatar image and return it. |
| void showAvatar() | Show the generated avatar image with local application. |
| void saveAsPNG(String filepath) | Save avatar image as PNG file. The filepath include path and filename, for example, "E:/avatar.png", you should make sure that the path exists. |
Default
Avatar avatar = new Avatar();
avatar.showAvatar();Save
Avatar avatar = new Avatar();
avatar.saveAsPNG("E:/avatar.png");Set padding and cell size
AvatarConfig config = new AvatarConfig();
config.setPadding(16);
config.setCellSize(32);
Avatar avatar = new Avatar(config);
avatar.showAvatar();Set the number of cells per row / column
config.setCellCount(8);Set transparency
config.setTransparent(true);Set color
config.setForeColor(Color.MAGENTA);
// config.setBackColor(Color.LIGHT_GRAY);Set colors
config.setForeColors(Color.MAGENTA, Color.BLUE, Color.GREEN);
// the other way
List<Color> colors = new ArrayList<>();
colors.add(Color.YELLOW);
colors.add(Color.ORANGE);
colors.add(Color.CYAN);
config.setForeColors(colors);For more example details, see example.