snipt

Ctrl+h for KB shortcuts

Text only

How to Add Watermark to an Image inside .NET Applications

// 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

Description

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.
https://snipt.net/embed/88348938a5d963b82a736e32c77e63f6/
/raw/88348938a5d963b82a736e32c77e63f6/
88348938a5d963b82a736e32c77e63f6
text
Text only
92
2019-08-21T19:23:05
True
False
False
Dec 30, 2015 at 04:43 AM
/api/public/snipt/143332/
how-to-add-watermark-to-an-image-inside-net-applications
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a> <a href="#L-25">25</a> <a href="#L-26">26</a> <a href="#L-27">27</a> <a href="#L-28">28</a> <a href="#L-29">29</a> <a href="#L-30">30</a> <a href="#L-31">31</a> <a href="#L-32">32</a> <a href="#L-33">33</a> <a href="#L-34">34</a> <a href="#L-35">35</a> <a href="#L-36">36</a> <a href="#L-37">37</a> <a href="#L-38">38</a> <a href="#L-39">39</a> <a href="#L-40">40</a> <a href="#L-41">41</a> <a href="#L-42">42</a> <a href="#L-43">43</a> <a href="#L-44">44</a> <a href="#L-45">45</a> <a href="#L-46">46</a> <a href="#L-47">47</a> <a href="#L-48">48</a> <a href="#L-49">49</a> <a href="#L-50">50</a> <a href="#L-51">51</a> <a href="#L-52">52</a> <a href="#L-53">53</a> <a href="#L-54">54</a> <a href="#L-55">55</a> <a href="#L-56">56</a> <a href="#L-57">57</a> <a href="#L-58">58</a> <a href="#L-59">59</a> <a href="#L-60">60</a> <a href="#L-61">61</a> <a href="#L-62">62</a> <a href="#L-63">63</a> <a href="#L-64">64</a> <a href="#L-65">65</a> <a href="#L-66">66</a> <a href="#L-67">67</a> <a href="#L-68">68</a> <a href="#L-69">69</a> <a href="#L-70">70</a> <a href="#L-71">71</a> <a href="#L-72">72</a> <a href="#L-73">73</a> <a href="#L-74">74</a> <a href="#L-75">75</a> <a href="#L-76">76</a> <a href="#L-77">77</a> <a href="#L-78">78</a> <a href="#L-79">79</a> <a href="#L-80">80</a> <a href="#L-81">81</a> <a href="#L-82">82</a> <a href="#L-83">83</a> <a href="#L-84">84</a> <a href="#L-85">85</a> <a href="#L-86">86</a> <a href="#L-87">87</a> <a href="#L-88">88</a> <a href="#L-89">89</a> <a href="#L-90">90</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a>// Adding a Watermark </span><span id="L-2"><a name="L-2"></a> </span><span id="L-3"><a name="L-3"></a>//[C# Code Sample] </span><span id="L-4"><a name="L-4"></a> </span><span id="L-5"><a name="L-5"></a>//Load an existing JPG image </span><span id="L-6"><a name="L-6"></a>using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(myDir + &quot;sample.jpg&quot;)) </span><span id="L-7"><a name="L-7"></a>{ </span><span id="L-8"><a name="L-8"></a> </span><span id="L-9"><a name="L-9"></a> //Declare a String object with Watermark Text </span><span id="L-10"><a name="L-10"></a> String theString = &quot;45 Degree Rotated Text&quot;; </span><span id="L-11"><a name="L-11"></a> </span><span id="L-12"><a name="L-12"></a> //Create and initialize an instance of Graphics class </span><span id="L-13"><a name="L-13"></a> Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image); </span><span id="L-14"><a name="L-14"></a> </span><span id="L-15"><a name="L-15"></a> //Initialize an object of SizeF to store image Size </span><span id="L-16"><a name="L-16"></a> Aspose.Imaging.SizeF sz = graphics.Image.Size; </span><span id="L-17"><a name="L-17"></a> </span><span id="L-18"><a name="L-18"></a> //Creates an instance of Font, initialize it with Font Face, Size and Style </span><span id="L-19"><a name="L-19"></a> Aspose.Imaging.Font font = new Aspose.Imaging.Font(&quot;Times New Roman&quot;, 20, FontStyle.Bold); </span><span id="L-20"><a name="L-20"></a> </span><span id="L-21"><a name="L-21"></a> //Create an instance of SolidBrush and set its various properties </span><span id="L-22"><a name="L-22"></a> Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(); </span><span id="L-23"><a name="L-23"></a> brush.Color = Aspose.Imaging.Color.Red; </span><span id="L-24"><a name="L-24"></a> brush.Opacity = 0; </span><span id="L-25"><a name="L-25"></a> </span><span id="L-26"><a name="L-26"></a> //Initialize an object of StringFormat class and set its various properties </span><span id="L-27"><a name="L-27"></a> Aspose.Imaging.StringFormat format = new Aspose.Imaging.StringFormat(); </span><span id="L-28"><a name="L-28"></a> format.Alignment = Aspose.Imaging.StringAlignment.Center; </span><span id="L-29"><a name="L-29"></a> format.FormatFlags = Aspose.Imaging.StringFormatFlags.MeasureTrailingSpaces; </span><span id="L-30"><a name="L-30"></a> </span><span id="L-31"><a name="L-31"></a> //Create an object of Matrix class for transformation </span><span id="L-32"><a name="L-32"></a> Aspose.Imaging.Matrix matrix = new Aspose.Imaging.Matrix(); </span><span id="L-33"><a name="L-33"></a> //First a translation </span><span id="L-34"><a name="L-34"></a> matrix.Translate(sz.Width / 2, sz.Height / 2); </span><span id="L-35"><a name="L-35"></a> //Then a rotation </span><span id="L-36"><a name="L-36"></a> matrix.Rotate(-45.0f); </span><span id="L-37"><a name="L-37"></a> </span><span id="L-38"><a name="L-38"></a> //Set the Transformation through Matrix </span><span id="L-39"><a name="L-39"></a> graphics.Transform = matrix; </span><span id="L-40"><a name="L-40"></a> </span><span id="L-41"><a name="L-41"></a> //Draw the string on Image </span><span id="L-42"><a name="L-42"></a> graphics.DrawString(theString, font, brush, 0, 0, format); </span><span id="L-43"><a name="L-43"></a> </span><span id="L-44"><a name="L-44"></a> //Save output to disk </span><span id="L-45"><a name="L-45"></a> image.Save(myDir + &quot;output.jpg&quot;); </span><span id="L-46"><a name="L-46"></a>} </span><span id="L-47"><a name="L-47"></a> </span><span id="L-48"><a name="L-48"></a>//[VB.NET Code Sample] </span><span id="L-49"><a name="L-49"></a> </span><span id="L-50"><a name="L-50"></a>&#39;Load an existing JPG image </span><span id="L-51"><a name="L-51"></a>Using image As Aspose.Imaging.Image = Aspose.Imaging.Image.Load(myDir &amp; &quot;sample.jpg&quot;) </span><span id="L-52"><a name="L-52"></a> </span><span id="L-53"><a name="L-53"></a> &#39;Declare a String object with Watermark Text </span><span id="L-54"><a name="L-54"></a> Dim theString As String = &quot;45 Degree Rotated Text&quot; </span><span id="L-55"><a name="L-55"></a> </span><span id="L-56"><a name="L-56"></a> &#39;Create and initialize an instance of Graphics class </span><span id="L-57"><a name="L-57"></a> Dim graphics As New Aspose.Imaging.Graphics(image) </span><span id="L-58"><a name="L-58"></a> </span><span id="L-59"><a name="L-59"></a> &#39;Initialize an object of SizeF to store image Size </span><span id="L-60"><a name="L-60"></a> Dim sz As Aspose.Imaging.SizeF = graphics.Image.Size </span><span id="L-61"><a name="L-61"></a> </span><span id="L-62"><a name="L-62"></a> &#39;Creates an instance of Font, initialize it with Font Face, Size and Style </span><span id="L-63"><a name="L-63"></a> Dim font As New Aspose.Imaging.Font(&quot;Times New Roman&quot;, 20, FontStyle.Bold) </span><span id="L-64"><a name="L-64"></a> </span><span id="L-65"><a name="L-65"></a> &#39;Create an instance of SolidBrush and set its various properties </span><span id="L-66"><a name="L-66"></a> Dim brush As New Aspose.Imaging.Brushes.SolidBrush() </span><span id="L-67"><a name="L-67"></a> brush.Color = Aspose.Imaging.Color.Red </span><span id="L-68"><a name="L-68"></a> brush.Opacity = 0 </span><span id="L-69"><a name="L-69"></a> </span><span id="L-70"><a name="L-70"></a> &#39;Initialize an object of StringFormat class and set its various properties </span><span id="L-71"><a name="L-71"></a> Dim format As New Aspose.Imaging.StringFormat() </span><span id="L-72"><a name="L-72"></a> format.Alignment = Aspose.Imaging.StringAlignment.Center </span><span id="L-73"><a name="L-73"></a> format.FormatFlags = Aspose.Imaging.StringFormatFlags.MeasureTrailingSpaces </span><span id="L-74"><a name="L-74"></a> </span><span id="L-75"><a name="L-75"></a> &#39;Create an object of Matrix class for transformation </span><span id="L-76"><a name="L-76"></a> Dim matrix As New Aspose.Imaging.Matrix() </span><span id="L-77"><a name="L-77"></a> &#39;First a translation </span><span id="L-78"><a name="L-78"></a> matrix.Translate(sz.Width / 2, sz.Height / 2) </span><span id="L-79"><a name="L-79"></a> &#39;Then a rotation </span><span id="L-80"><a name="L-80"></a> matrix.Rotate(-45.0f) </span><span id="L-81"><a name="L-81"></a> </span><span id="L-82"><a name="L-82"></a> &#39;Set the Transformation through Matrix </span><span id="L-83"><a name="L-83"></a> graphics.Transform = matrix </span><span id="L-84"><a name="L-84"></a> </span><span id="L-85"><a name="L-85"></a> &#39;Draw the string on Image </span><span id="L-86"><a name="L-86"></a> graphics.DrawString(theString, font, brush, 0, 0, format) </span><span id="L-87"><a name="L-87"></a> </span><span id="L-88"><a name="L-88"></a> &#39;Save output to disk </span><span id="L-89"><a name="L-89"></a> image.Save(myDir &amp; &quot;output.jpg&quot;) </span><span id="L-90"><a name="L-90"></a>End Using </span></pre></div> </td></tr></table>
"Adding Watermark to Image", "draw string on the image surface", "how to add a watermark to image", &, .NET, BMP, Create, Graphics, disk, from, image, initialize, load, object, processing
--- 
+++ 
@@ -0,0 +1,91 @@
+// 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
+