How to add watermark to an image in c#

watermark to an image

using System;
using System.Drawing;
using System.Drawing.Drawing2D;

public class Watermark
{

//this fuction takes an Image and String for watermarking as argument
//and returns an Image with watermark

public Bitmap WaterMarkToImage(string ImagePath, string watermark)
{
Bitmap bmp;
bmp = new Bitmap(ImagePath);

Graphics graphicsObject;
int x, y;
try
{
//create graphics object from bitmap
graphicsObject = Graphics.FromImage(bmp);
}
catch (Exception e)
{

Bitmap bmpNew = new Bitmap(bmp.Width, bmp.Height);
graphicsObject = Graphics.FromImage(bmpNew);

graphicsObject.DrawImage(bmp, new Rectangle(0, 0, bmpNew.Width, bmpNew.Height), 0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel);

bmp = bmpNew;
}

int startsize = (bmp.Width / watermark.Length);//get the font size with respect to length of the string

//x and y cordinates to draw a string
x = 0;
y = bmp.Height / 2;

//System.Drawing.StringFormat drawFormat = new System.Drawing.StringFormat(StringFormatFlags.DirectionVertical); -> draws a vertical string for watermark

System.Drawing.StringFormat drawFormat = new System.Drawing.StringFormat(StringFormatFlags.NoWrap);

//drawing string on Image
graphicsObject.DrawString(watermark, new Font(“Verdana”, startsize, FontStyle.Bold), new SolidBrush(Color.FromArgb(60, 255, 255, 255)), x, y, drawFormat);

//return a water marked image
return (bmp);
} }

Invoking the Above method in a Button Click in ASP.net

Watermark wM = new Watermark();
System.Drawing.Bitmap bmp = wM.WaterMarkToImage(“c:/c.jpg”, “www.asp.net”);
bmp.Save(“c:/c1.jpg”);
Image1.ImageUrl = “c:/c1.jpg”;


Discover more from mycodetips

Subscribe to get the latest posts sent to your email.

Discover more from mycodetips

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top