How to Add Watermark to an Image inside .NET Applications

This technical tip explains how .NET developers can add a watermark to an image inside their .NET applications. Adding a watermark to an image is a common requirement for image processing applications. This example uses the Graphics class to draw a string on the image surface. To demonstrate the operation, we will load a BMP image from disk and draw a string as the watermark on the image surface using the Graphics class' DrawString method. We'll save the image to PNG format using the PngOptions class. Below is a code example that demonstrates how to add a watermark to an image. The example source code has been split into parts to make it easy to follow.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//your code here...// Adding a Watermark
//[C# Code Sample]
//Load an existing JPG image
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(myDir + "sample.jpg"))
{
    //Declare a String object with Watermark Text
    String theString = "45 Degree Rotated Text";
    //Create and initialize an instance of Graphics class
    Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);
    //Initialize an object of SizeF to store image Size
    Aspose.Imaging.SizeF sz = graphics.Image.Size;
    //Creates an instance of Font, initialize it with Font Face, Size and Style
    Aspose.Imaging.Font font = new Aspose.Imaging.Font("Times New Roman", 20, FontStyle.Bold);
    //Create an instance of SolidBrush and set its various properties
    Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush();
    brush.Color = Aspose.Imaging.Color.Red;
    brush.Opacity = 0;
    //Initialize an object of StringFormat class and set its various properties
    Aspose.Imaging.StringFormat format = new Aspose.Imaging.StringFormat();
    format.Alignment = Aspose.Imaging.StringAlignment.Center;
    format.FormatFlags = Aspose.Imaging.StringFormatFlags.MeasureTrailingSpaces;
    //Create an object of Matrix class for transformation
    Aspose.Imaging.Matrix matrix = new Aspose.Imaging.Matrix();
    //First a translation
    matrix.Translate(sz.Width / 2, sz.Height / 2);
    //Then a rotation
    matrix.Rotate(-45.0f);
    //Set the Transformation through Matrix
    graphics.Transform = matrix;
    //Draw the string on Image
    graphics.DrawString(theString, font, brush, 0, 0, format);
    //Save output to disk
    image.Save(myDir + "output.jpg");
}
 
//[VB.NET Code Sample]
X

Url: http://www.aspose.com/.net/imaging-component.aspx

Language: C# | User: Sheraz Khan | Created: Dec 30, 2015 | Tags: how to add a watermark to image Adding Watermark to Image draw string on the image surface load BMP image from disk Create & initialize Graphics object .NET image processing