package me.bell;
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
public class StringToImage {
/**
* 字符串转成图片
*
* @param str
* @param i
* @return
*/
public Image StrToImg(String str, int i){
JLabel label = new JLabel(str);
label.setSize(26, 16);
// label.setFont(new Font("MONOSPACED", 1,10));
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setFont(new Font("Dialog", 1, 11));
label.setOpaque(true);
label.setBackground(Color.decode("#535149"));
if (i == 1) {
// label.setForeground(Color.decode("#E27B6A"));
label.setForeground(Color.decode("#B89D98"));
} else if (i == -1) {
// label.setForeground(Color.decode("#3AB35B"));
label.setForeground(Color.decode("#A4C0B0"));
} else if (i == 0) {
label.setForeground(Color.decode("#EEEEEE"));
}
BufferedImage bfImage = getImage(label);
return bfImage;
}
private BufferedImage getImage(JComponent c){
Rectangle region = c.getBounds();
BufferedImage image = new BufferedImage(region.width, region.height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = image.createGraphics();
g2d.translate(-region.x, -region.y);
g2d.setColor(c.getBackground() );
g2d.fillRect(region.x, region.y, region.width, region.height);
c.paint(g2d);
g2d.dispose();
return image;
}
}