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;
	}
	
}
