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.
//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]
'Load an existing JPG image
Using image As Aspose.Imaging.Image = Aspose.Imaging.Image.Load(myDir & "sample.jpg")
'Declare a String object with Watermark Text
Dim theString As String = "45 Degree Rotated Text"
'Create and initialize an instance of Graphics class
Dim graphics As New Aspose.Imaging.Graphics(image)
'Initialize an object of SizeF to store image Size
Dim sz As Aspose.Imaging.SizeF = graphics.Image.Size
'Creates an instance of Font, initialize it with Font Face, Size and Style
Dim font As New Aspose.Imaging.Font("Times New Roman", 20, FontStyle.Bold)
'Create an instance of SolidBrush and set its various properties
Dim brush As 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
Dim format As New Aspose.Imaging.StringFormat()
format.Alignment = Aspose.Imaging.StringAlignment.Center
format.FormatFlags = Aspose.Imaging.StringFormatFlags.MeasureTrailingSpaces
'Create an object of Matrix class for transformation
Dim matrix As 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")
End Using
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