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

}
