/*
 * 
 * Converting Text to GIF file
 * Written by SaEeD :-)
 * Date: 1/Sep/2008
 * 
 */
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.imageio.ImageIO;

public class txt2image 
{
    public static void main(String [] args) throws IOException
    {
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("---= Text to Image Convertor =--");
        System.out.print("[+]Enter filename:  ");
        String fileName = stdin.readLine();
        File myfile = new File(fileName + ".gif");
        System.out.println("[+]File: " + myfile.toString() + " Successfully created.");
        System.out.print("[+]Please enter the text now: ");
        String input = stdin.readLine();
        if(input.length() > 100){
            System.out.println("[!]String is TOO BIG - Maximum 100 Characters");
            myfile.delete();
            System.out.println("[-]File has been deleted.");
            System.exit(-1);
        }
        RenderedImage rendImage = myCreateImage(input);        
        ImageIO.write(rendImage, "gif", myfile); 
        System.out.println("[+]Convertion was successful.");             
        
    }
    
    public static RenderedImage myCreateImage(String myData) {
        int width = 300;
        int height = 50;
    
        // Create a buffered image in which to draw
        BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    
        // Create a graphics contents on the buffered image
        Graphics2D g2d = bufferedImage.createGraphics();
    
        // Draw graphics
       // g2d.setBackground(Color.WHITE);
        g2d.setColor(Color.WHITE);
        g2d.fillRect(0, 0, width, height);
        g2d.setColor(Color.BLACK);
        //g2d.setFont(Font.getFont(Font.MONOSPACED));
        g2d.drawString(myData, 10, 27);
//        g2d.setColor(Color.WHITE);
//        g2d.fillOval(0, 0, width, height);

        g2d.dispose();
    
        return bufferedImage;
    }


}