Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Add Watermark Text to Images in ASP.NET MVC

DZone 's Guide to

Add Watermark Text to Images in ASP.NET MVC

A super quick but helpful tutorial on using C# and CSHTML to create a basic ASP.NET MVC application.

· Web Dev Zone ·
Free Resource

In this article, we will learn how we can add a watermark to images in ASP.NET MVC 5. We are going to use the .NET graphics library for this.

The libraries to be used for this purpose are liseted below:

using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

Navigate to View -> Home -> Index.cshtml

@{
    ViewBag.Title = "Home Page";
}
<div>
    @using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <div class="row">
            <div class="form-group col-md-5">
                <span>Enter Watermark</span>
                <input type="text" class="form-control" required name="text" />
            </div>
            <div class="form-group col-md-5">
                <span>Select File:</span>
                <input type="file" class="form-control" required name="postedFile" />
            </div>
        </div>
        <input type="submit" class="btn btn-info" value="Upload" />
    }
</div>

Below is the controller side 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.Mvc;
namespace AddWatermarkToImages.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Index(string text,HttpPostedFileBase postedFile)
        {
            if (postedFile != null)
            {
                string value = text;
                string file = Path.GetFileNameWithoutExtension(postedFile.FileName) + ".png";
                using (Bitmap bitmap = new Bitmap(postedFile.InputStream, false))
                {
                    using (Graphics graphics = Graphics.FromImage(bitmap))
                    {
                        Brush brush = new SolidBrush(Color.Red);
                        Font font = new Font("Arial", 90, FontStyle.Italic, GraphicsUnit.Pixel);
                        SizeF textSize = new SizeF();
                        textSize = graphics.MeasureString(value, font);
                        Point position = new Point(bitmap.Width - ((int)textSize.Width + 10), bitmap.Height - ((int)textSize.Height + 10));
                        graphics.DrawString(value, font, brush, position);
                        using (MemoryStream mStream = new MemoryStream())
                        {
                            bitmap.Save(mStream, ImageFormat.Png);
                            mStream.Position = 0;
                            return File(mStream.ToArray(), "image/png", file);
                        }
                    }
                }
            }
            return View();
        }
    }
}

ASP.NET MVC App

Our Basic ASP.NET MVC 5 Application

You can download the source code from here.

Topics:
web ev ,asp.net mvc tutorial for beginners ,c# tutorial ,asp.net mvc 5 ,asp.net mvc

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}