Convert Text to Image






4.88/5 (22 votes)
Convert Text to Image
We can easily convert text to image in C# by using
System.Drawing
namespace. Here these tips will guide you how to create bitmap image from text. It’s using Graphics
property of System.Drawing
namespace to convert text to bitmap image and place the image in a picture box. The Graphics
class provides methods for drawing to the display device.
In this article, you will see a method Convert_Text_to_Image(string txt, string fontname, int fontsize)
is responsible to return Bitmap Image on the basis of Text, fontname and fontsize.
Take a look at how to use the mentioned method for converting Text to Image:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Text_to_Image { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static Bitmap Convert_Text_to_Image(string txt, string fontname, int fontsize) { //creating bitmap image Bitmap bmp = new Bitmap(1, 1); //FromImage method creates a new Graphics from the specified Image. Graphics graphics = Graphics.FromImage(bmp); // Create the Font object for the image text drawing. Font font = new Font(fontname, fontsize); // Instantiating object of Bitmap image again with the correct size for the text and font. SizeF stringSize = graphics.MeasureString(txt, font); bmp = new Bitmap(bmp,(int)stringSize.Width,(int)stringSize.Height); graphics = Graphics.FromImage(bmp); /* It can also be a way bmp = new Bitmap(bmp, new Size((int)graphics.MeasureString(txt, font).Width, (int)graphics.MeasureString(txt, font).Height));*/ //Draw Specified text with specified format graphics.DrawString(txt, font, Brushes.Red, 0, 0); font.Dispose(); graphics.Flush(); graphics.Dispose(); return bmp; //return Bitmap Image } private void btnconvert_Click(object sender, EventArgs e) { picbox.Image = Convert_Text_to_Image(txtvalue.Text, "Bookman Old Style", 20); // Passing appropriate value to Convert_Text_to_Image method picbox.SizeMode = PictureBoxSizeMode.StretchImage; } } }Now write something in
Textbox
and then press convert button to see the desired output.
Go there[^] to download source code.
[Edited] Another approach
public Bitmap ConvertTextToImage(string txt, string fontname, int fontsize, Color bgcolor, Color fcolor, int width, int Height) { Bitmap bmp = new Bitmap(width, Height); using (Graphics graphics = Graphics.FromImage(bmp)) { Font font = new Font(fontname, fontsize); graphics.FillRectangle(new SolidBrush(bgcolor), 0, 0, bmp.Width, bmp.Height); graphics.DrawString(txt, font, new SolidBrush(fcolor), 0, 0); graphics.Flush(); font.Dispose(); graphics.Dispose(); } return bmp; }Take a look how to use Method in same Project.
private void btnconvert_Click(object sender, EventArgs e)
{
//You can pass value in parameter as per your requirement.
picbox.Image = this.ConvertTextToImage(txtvalue.Text, "Bookman Old Style", 10, Color.Yellow, Color.Red, txtvalue.Width, txtvalue.Height);
}
Go there[^] to Download Edited Source Code.