Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can you open a JPEG, add text, and resave as a JPEG in .NET?

I want to write a small program in .NET 4.0 that will open a .jpg (or .jpeg) file, add a line of text to the image, and then resave the image as a .jpg. Does anyone know the easiest way to do this?

Thanks for any help.

like image 511
Sako73 Avatar asked Aug 27 '10 01:08

Sako73


2 Answers

Something like this:

var filePath = @"D:\Pictures\Backgrounds\abc.jpg";
Bitmap bitmap = null;

// Create from a stream so we don't keep a lock on the file.
using (var stream = File.OpenRead(filePath))
{
    bitmap = (Bitmap)Bitmap.FromStream(stream);
}

using (bitmap)
using (var graphics = Graphics.FromImage(bitmap))
using (var font = new Font("Arial", 20, FontStyle.Regular))
{
    // Do what you want using the Graphics object here.
    graphics.DrawString("Hello World!", font, Brushes.Red, 0, 0);

    // Important part!
    bitmap.Save(filePath);
}
like image 108
TheCloudlessSky Avatar answered Oct 03 '22 16:10

TheCloudlessSky


var myBitmap = new Bitmap("C:\\myImage.jpg");
var g = Graphics.FromImage(myBitmap);
g.DrawString("My\nText", new Font("Tahoma", 40), Brushes.White, new PointF(0, 0));
like image 41
dimarzionist Avatar answered Oct 03 '22 14:10

dimarzionist