Introduction
This article explains how to write text on an image using ASP.NET and C#. In this article I am using some common library functions and methods.
Image Class and Bitmap Class
- The Image class is an example of an Abstract Class.
- The Bitmap class is an implementation of the Image class and it inherits from the Abstract Image class.
- After implementation we can get the Image Class functionality in the Bitmap Class.
C# Code
The following code is to write a text on an image. We can change the functionalities based on our requirements.
-
- System.Drawing.Image bitmap = (System.Drawing.Image)Bitmap.FromFile(Server.MapPath("onam.jpg"));
-
- Graphics graphicsImage = Graphics.FromImage(bitmap);
-
-
- StringFormat stringformat = new StringFormat();
- stringformat.Alignment = StringAlignment.Far;
- stringformat.LineAlignment = StringAlignment.Far;
-
- StringFormat stringformat2 = new StringFormat();
- stringformat2.Alignment = StringAlignment.Center;
- stringformat2.LineAlignment = StringAlignment.Center;
-
-
- Color StringColor = System.Drawing.ColorTranslator.FromHtml("#933eea");
- Color StringColor2 = System.Drawing.ColorTranslator.FromHtml("#e80c88");
- string Str_TextOnImage = "Happy";
- string Str_TextOnImage2 = "Onam";
-
- graphicsImage.DrawString(Str_TextOnImage, new Font("arial", 40,
- FontStyle.Regular), new SolidBrush(StringColor), new Point(268, 245),
- stringformat); Response.ContentType = "image/jpeg";
-
- graphicsImage.DrawString(Str_TextOnImage2, new Font("Edwardian Script ITC", 111,
- FontStyle.Bold), new SolidBrush(StringColor2), new Point(145, 255),
- stringformat2); Response.ContentType = "image/jpeg";
- bitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
Graphics & Bitmap
A Bitmap is an object used to work with images defined by pixel data and you can draw the image object using a Graphics object. Here's the code:
-
- System.Drawing.Image bitmap = (System.Drawing.Image)Bitmap.FromFile(Server.MapPath("onam.jpg"));
-
- Graphics graphicsImage = Graphics.FromImage(bitmap);
Formatting the string
Change Text Alignment based on the coordinates:
-
- StringFormat stringformat = new StringFormat();
- stringformat.Alignment = StringAlignment.Far;
- stringformat.LineAlignment = StringAlignment.Far;
-
- StringFormat stringformat2 = new StringFormat();
- stringformat2.Alignment = StringAlignment.Center;
- stringformat2.LineAlignment = StringAlignment.Center;
Text On Image
Set the font color, size, format.
- string Str_TextOnImage = "Happy";
- string Str_TextOnImage2 = "Onam";
-
- graphicsImage.DrawString(Str_TextOnImage, new Font("arial", 40,
- FontStyle.Regular), new SolidBrush(StringColor), new Point(268, 245),
- stringformat); Response.ContentType = "image/jpeg";
-
- graphicsImage.DrawString(Str_TextOnImage2, new Font("Edwardian Script ITC", 111,
- FontStyle.Bold), new SolidBrush(StringColor2), new Point(145, 255),
- stringformat2); Response.ContentType = "image/jpeg";
String Color
Adding the string color in the following two ways.
- Color StringColor = System.Drawing.Color.Red;
- Color StringColor = System.Drawing.ColorTranslator.FromHtml("#933eea");
Important Section
Namespace
- using System.Drawing;
- using System.Drawing.Imaging;
The preceding namespace contains Graphics, Bitmaps, Image Editing and Alignment libraries and other libraries.
Output
Reference
Summary
We learned how to write text on an image using ASP.NET and C#. I hope this article is useful for everyone.