Click here to Skip to main content
12,511,648 members (47,158 online)
Click here to Skip to main content
Add your own
alternative version

Stats

212.5K views
9.3K downloads
68 bookmarked
Posted

Dynamically Write Text On An Image

, 17 Jun 2004
Rate this:
Please Sign up or sign in to vote.
If you have a pre-existing graphic and you want to write some text over it...

Introduction

This article shows you how to dynamically write text on a pre-existing image, with ASP.NET and C#.

In my example, I have a picture of my son and I write the words “That’s my boy!”. Also, to show that you can combine graphic drawing and text together, I then draw an oval shape around the word that I just put on the picture.

In order to make this sample work, you need the following references:

using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Drawing.Text;

Also, you might need to play around with where you want your text and oval to go. Remember that both the placement of the text and graphic oval are based on X and Y coordinates. So, if you have to move the text/oval up, then change the value of the Y parameter. If you need to move the text/oval horizontally, then change the value of the X parameter.

There are basically 6 steps for my sample:

  1. Load your image:
    //Load the Image to be written on.
    Bitmap bitMapImage = new 
       System.Drawing.Bitmap(Server.MapPath("dallen.jpg" )  );
    Graphics graphicImage = Graphics.FromImage( bitMapImage ); 
  2. Set the graphics to be smooth.
    //Smooth graphics is nice.
    graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
  3. Write your text. Here is where you set your font. The X and Y coordinates are in the new point. (100 = X, 250 = Y).
    //Write your text.
    graphicImage.DrawString( "That's my boy!", 
       new Font("Arial", 12,FontStyle.Bold ), 
       SystemBrushes.WindowText, new Point( 100, 250 ) ); 
  4. Draw your oval around the text. Note: play around with the numbers to make the oval to the correct size that you want.
    //I am drawing a oval around my text.
    graphicImage.DrawArc(new Pen(Color.Red, 3), 90, 235, 150, 50, 0, 360); 
  5. Set the Content Type to jpg and then write your image to the response stream.
    //Set the content type
    Response.ContentType="image/jpeg"; 
    //Save the new image to the response output stream.
    bitMapImage.Save(Response.OutputStream, ImageFormat.Jpeg); 
  6. Clean up.
    //Clean house.
    graphicImage.Dispose();
    bitMapImage.Dispose();

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

Dolph
Web Developer DolphLarson.Com
United States United States
Dolph Larson is a Microsoft Certified Solution Developer (MCSD) for .Net, Microsoft Certified Application Developer (MCAD) and Microsoft Certified Database Administrator (MCDBA). He has over fourteen years of professional combined programming, database administration and information technology experience. He currently works as a senior developer for Omnicell and has worked as a senior web developer for eRealty.com. Dolph also managed the programming department for Health Help, Inc. and has seven years of managed health care experience and three years of energy experience.

Right now, I am developing Compact Framework applications for the PocketPC and Winodws Mobile. Go TO http://www.iPocketPC.net for FREE Pocket PC software!!!!!

You may also be interested in...

Pro
Pro

Comments and Discussions

 
Questionhow to display only image without background ? Pin
joelprabhu15-May-15 2:11
memberjoelprabhu15-May-15 2:11 
GeneralMy vote of 5 Pin
Member 32777608-May-13 1:54
memberMember 32777608-May-13 1:54 
GeneralMy vote of 5 Pin
Ruwan Jayalath20-Apr-13 22:08
memberRuwan Jayalath20-Apr-13 22:08 
QuestionText on an image using Visual c# Express Pin
Diwakar Prajapati6-Aug-12 8:04
memberDiwakar Prajapati6-Aug-12 8:04 
GeneralMy vote of 5 Pin
manoj kumar choubey5-Mar-12 19:33
membermanoj kumar choubey5-Mar-12 19:33 
Generaluseful Pin
CIDev15-Apr-11 3:40
memberCIDev15-Apr-11 3:40 
QuestionWorks in Visual Studio but NOT on server. Pin
bretBolton30-Apr-09 5:56
memberbretBolton30-Apr-09 5:56 
GeneralSomeone copied your article Pin
lols12-Oct-08 23:27
memberlols12-Oct-08 23:27 
GeneralThanks alot its vere useful Pin
romanr10016-Sep-08 0:26
memberromanr10016-Sep-08 0:26 
QuestionResponse.OutputStream & HTML Pin
bcalder125-Oct-07 1:02
memberbcalder125-Oct-07 1:02 
GeneralThis code saved me Pin
JLibertor20-Oct-07 5:29
memberJLibertor20-Oct-07 5:29 
QuestionHelp I' am news Pin
DataBrain16-Mar-07 5:09
memberDataBrain16-Mar-07 5:09 
GeneralI18N Pin
Nero197216-Jan-07 10:25
memberNero197216-Jan-07 10:25 
QuestionHow to make image quality high ? Pin
hemper14-Sep-06 2:56
memberhemper14-Sep-06 2:56 
Question??? Pin
papa198016-May-06 5:31
memberpapa198016-May-06 5:31 
AnswerRe: ??? Pin
JLibertor20-Oct-07 5:27
memberJLibertor20-Oct-07 5:27 
Generalmessage should come vertical Pin
Md.Serajuddin22-Mar-06 3:14
memberMd.Serajuddin22-Mar-06 3:14 
GeneralFont Color Pin
Anonymous24-Aug-05 4:37
sussAnonymous24-Aug-05 4:37 
GeneralRe: Font Color Pin
hocki30-Sep-05 3:12
memberhocki30-Sep-05 3:12 
GeneralRe: Font Color Pin
Member 162415011-Mar-08 3:04
memberMember 162415011-Mar-08 3:04 
GeneralDispose() goes in a finally block... Pin
Jason Shaver22-Jun-05 4:22
sussJason Shaver22-Jun-05 4:22 
GeneralRe: Dispose() goes in a finally block... Pin
Daniel Turini22-Jun-05 4:37
memberDaniel Turini22-Jun-05 4:37 
GeneralRe: Dispose() goes in a finally block... Pin
Dolph Larson22-Jun-05 9:12
sussDolph Larson22-Jun-05 9:12 
GeneralPrinting Pin
rush2@comcast.net7-Feb-05 12:27
memberrush2@comcast.net7-Feb-05 12:27 
GeneralThe same code(fantastic) but in a aspx page, without visual studio;) Pin
javieranton30-Jun-04 5:10
memberjavieranton30-Jun-04 5:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.160929.1 | Last Updated 18 Jun 2004
Article Copyright 2004 by Dolph
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid