Text to Image Conversion in ASP.NET C#

January 07, 2016 , 0 Comments

In this article, I will show you how to convert Text into image. I will take text from TextBoxes and convert it into image using Graphics class. Generated image will be show on image control. I have an example of it.  First of all add one TextBox, One Button and One image control on web form.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="texttoimage.aspx.cs" Inherits="texttoimage" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <form id="form1" runat="server">

        Enter Name :
        <asp:TextBox ID="TextBox1" runat="server" Width="192px"></asp:TextBox>
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Text 2 Image" />

            <asp:Image ID="Image1" runat="server" Height="178px" Visible="False" Width="315px" />

By using DrawString ( ) method we can put Text on image. There are following parameter which are put into this method:
Text = Which is taken from textBox.
Font  = Font, it means Font family, Font Size, Font style, font unit etc. You can add all these properties by using Font class.

By using the Bitmap class we can create Image. In it we have two parameters i.e width and height.

Code Behind Code

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class texttoimage : System.Web.UI.Page
    protected void Page_Load(object sender, EventArgs e)

    protected void Button1_Click(object sender, EventArgs e)
        string textboxtext = TextBox1.Text.Trim();
        Bitmap bitmap = new Bitmap(1, 1);
        Font font = new Font("Arial", 20, FontStyle.Regular, GraphicsUnit.Pixel);
        Graphics grap = Graphics.FromImage(bitmap);
        int width = (int)grap.MeasureString(textboxtext, font).Width;
        int height = (int)grap.MeasureString(textboxtext, font).Height;
        bitmap = new Bitmap(bitmap, new Size(width, height));
        grap = Graphics.FromImage(bitmap);
        grap.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
        grap.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
        grap.DrawString(textboxtext, font, new SolidBrush(Color.FromArgb(255, 1, 1)), 0, 0);

        string savefile = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + ".jpg";
        bitmap.Save(Server.MapPath("~/img/") + savefile, ImageFormat.Jpeg);
        Image1.ImageUrl = "~/img/" + savefile;
        Image1.Visible = true;


Jacob Lefore

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard. Google