Image From Text

Font Family: 
Font Size: 
Font Color: 
Background: 
Text:   


using System;
using System.Drawing;

public class ImageFromText
{
	#region Private Variables
	private string    _FontFace="Arial";
	private int        _FontSize=12;
	private Color    _FontColor = Color.Black;
	private Color    _BackgroundColor = Color.White;
	#endregion
	#region Public Properties
	public Color BackGroundColor
	{
		get { return _BackgroundColor; }
		set { _BackgroundColor = value; }
	}

	public Color FontColor
	{
		get { return _FontColor; }
		set { _FontColor = value; }
	}
	public int FontSize
	{
		get { return _FontSize; }
		set { _FontSize = value; }
	}
	public string FontFace
	{
		get { return _FontFace; }
		set { _FontFace = value; }
	}
	#endregion
	#region Constructor
	public ImageFromText(){}
	#endregion
	public Image MakeImage(string Text, SizeF Sf)
	{
		// Create a Bitmap instance that's 468x60, and a Graphics instance
		int width  = (int)(Sf.Width+20);
		int height = (int)(Sf.Height+20);
		
		Image     imageObj   = new Bitmap(width,height);
		Graphics graphicsObj = Graphics.FromImage(imageObj);

		// Create a border in the color of the font
		graphicsObj.FillRectangle(new SolidBrush(_FontColor), 0, 0, width, height);
		// Create a LightBlue background
		graphicsObj.FillRectangle(new SolidBrush(_BackgroundColor), 2, 2, width-4, height-4);

		// Specify the font and alignment
		Font fontBanner = new Font(_FontFace,_FontSize,FontStyle.Bold);

		// center align the advertising pitch
		StringFormat stringFormat    = new StringFormat();
		stringFormat.Alignment        = StringAlignment.Center;
		stringFormat.LineAlignment    = StringAlignment.Center;
	
		// Draw the adverising pitch
		graphicsObj.DrawString(Text, fontBanner,new SolidBrush(FontColor),
new Rectangle(0, 0, width, height), stringFormat); return imageObj; } public SizeF CheckWidth(string mystring) { Font menuFont = new Font(FontFace,FontSize,FontStyle.Bold); SizeF CurrentWidth = new SizeF(0,0); Bitmap b = new Bitmap(12,12); Graphics g = Graphics.FromImage(b); CurrentWidth = g.MeasureString(mystring,menuFont); g.Dispose(); b.Dispose(); return CurrentWidth; } }