public class ChartGraphics {
public String createImage(String str) throws Exception {
if (str ==null){
return null;
}
int width = 100;
int height = 100;
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_ARGB); // 创建BufferedImage类的对象
Graphics2D g = image.createGraphics();
g.setRenderingHint (RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setPaint(new Color(101,149,230));//oa蓝色底
g.fillOval(0, 0, 100, 100);
Font mFont = new Font("微软雅黑", Font.PLAIN, 35); // 通过Font构造字体
g.setColor(Color.white); // 设置当前颜色为预定义颜色为白色
// String sRand = "";
FontRenderContext context = g.getFontRenderContext();
Rectangle2D bounds = mFont.getStringBounds(str, context);
//字体居中
double x = (width - bounds.getWidth()) / 2;
double y = (height - bounds.getHeight()) / 2;
double ascent = -bounds.getY();
double baseY = y + ascent;
g.setFont(mFont);
g.drawString(str, (int)x, (int)baseY);
// System.out.println("名称【"+str+"】");
g.dispose();
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
ImageIO.write(image, "png", out);
byte[] bytes = out.toByteArray();
String address = FdfsFileUtil.uploadFile(bytes, ".png");
out.close();
return address;
} catch (IOException e) {
e.printStackTrace();
out.close();
}
return null;
}
}
图片生成
最新推荐文章于 2024-01-15 10:43:19 发布