package com.qxueyou.scc.org.util; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.Transparency; import java.awt.geom.Ellipse2D; import java.awt.image.BufferedImage; /** * 课程超市工具类 * @author xiadehu * */ public class CourseMarketUtils { /** * * @param text * @param bgColor * @return */ public static BufferedImage drawPng(char letter,Color bgColor){ //初始化画布 int width=120; int height = 120; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = image.createGraphics(); image = g2d.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT); g2d.dispose(); g2d = image.createGraphics(); //背景 g2d.setColor(bgColor); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); double centerX = width/2; double centerY = height/2; double radius = width/2; Ellipse2D circle = new Ellipse2D.Double(); circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY+ radius); g2d.fill(circle); //文字 g2d.setColor(new Color(255,255,255)); int textSize = 64; Font font = new Font("微软雅黑", Font.PLAIN, textSize); g2d.setFont(font); FontMetrics metrics = g2d.getFontMetrics(); float x = (width - metrics.charWidth(letter)) / 2.0f; float y = (height - metrics.getHeight()) / 2.0f + metrics.getAscent(); g2d.drawString(String.valueOf(letter), x, y); //释放 g2d.dispose(); return image; } public static void main(String[] args){ System.out.println((String)null); } }