[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

How do I create an new image using an exisiting background and adding text programatically?

Posted on 2008-10-01
3
Medium Priority
?
278 Views
Last Modified: 2013-12-25
Hi all, Here's what I want to do:
I have 20 odd different images which represent sign backings. I want to be able to get clients to pick a background, enter the text they want in a text box and then create a specific image which adds the text to the backing. Basically I want them to be able to see what their sign will look like. Ideally I would like to be able to use probably 8 different fonts (I understand these are differing widths) and be able to change the font color to either black or silver.  I've never worked with images in C# /.Net before so I'm looking for some kind of guideline as to where to begin. ie: What classes / how to add to an existing image, how to save that image as another etc.  
0
Comment
Question by:Jen_M66
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 3

Expert Comment

by:trunghieubkit
ID: 22621450
The snippet below may help you,

if you want to draw on it before saving as another file you can create Graphics as following

           Graphics g = this.CreateGraphics();

           g.DrawImage(...);            g.DrawLine(...);            g.DrawRectangle(...);




private void Form1_Load(object sender, EventArgs e)
{
    string lstrFromFile = @"D:\From.gif";
    string lstrToFile = @"D:\To.jpeg";
 
    this.BackgroundImage = Image.FromFile(lstrFromFile);
    this.BackgroundImage.Save(lstrToFile);
}

Open in new window

0
 
LVL 86

Accepted Solution

by:
Mike Tomlinson earned 2000 total points
ID: 22626067
Here is a small converted VB.Net snippet that loads a background image and puts text into the middle of it:
    Bitmap bmp = new Bitmap(@"c:\someImage.jpg");
    string msg = "Hello World!";
 
    Graphics G = Graphics.FromImage(bmp);
    Font F = new Font("Arial", 48, FontStyle.Regular, GraphicsUnit.Point);
    StringFormat SF = new StringFormat();
    SizeF SZ = G.MeasureString(msg, F, new SizeF(bmp.Width, bmp.Height), SF);
 
    G.DrawString(msg, F, Brushes.Red, (bmp.Width / 2) - (SZ.Width / 2), (bmp.Height / 2) - (SZ.Height / 2), SF);
 
    F.Dispose();
    G.Dispose();
 
    pictureBox1.Image = bmp;

Open in new window

0
 

Author Closing Comment

by:Jen_M66
ID: 31502257
Great thank you - that was much easier than I thought it would be.
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article was originally published on Monitis Blog, you can check it here . Today it’s fairly well known that high-performing websites and applications bring in more visitors, higher SEO, and ultimately more sales. By the same token, downtime…
Without even knowing it, most of us are using web applications on a daily basis.  In fact, Gmail and Yahoo email, Twitter, Facebook, and eBay are used by most of us daily—and they are web applications. We generally confuse these web applications to…
This tutorial walks through the best practices in adding a local business to Google Maps including how to properly search for duplicates, marker placement, and inputing business details. Login to your Google Account, then search for "Google Mapmaker…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

656 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question