Blog

 
1:   using System;
2:   using System.IO;
3:  
4:   using iTextSharp.text;
5:   using iTextSharp.text.pdf;
6:  
7:   namespace iTextSharp.tutorial.Chap06
8:   {
9:       /// <summary>
10:       /// Image masks
11:       /// </summary>
12:       public class Chap0613 
13:       {
14:           public Chap0613() 
15:           {
16:               Console.WriteLine("Chapter 6 example 13: masked images");
17:           
18:               Document document new Document(PageSize.A450505050);
19:               try 
20:               {
21:                   PdfWriter writer PdfWriter.GetInstance(documentnew FileStream("Chap0613.pdf"FileMode.Create));
22:               
23:                   document.Open();
24:                   Paragraph p new Paragraph("Some text behind a masked image.");
25:                   document.Add(p);
26:                   document.Add(p);
27:                   document.Add(p);
28:                   document.Add(p);
29:                   document.Add(p);
30:                   document.Add(p);
31:                   document.Add(p);
32:                   document.Add(p);
33:                   document.Add(p);
34:                   document.Add(p);
35:               
36:                   document.Add(p);
37:                   document.Add(p);
38:                   document.Add(p);
39:                   document.Add(p);
40:                   document.Add(p);
41:                   document.Add(p);
42:                   document.Add(p);
43:                   document.Add(p);
44:                   document.Add(p);
45:                   document.Add(p);
46:                   document.Add(p);
47:                   document.Add(p);
48:                   document.Add(p);
49:                   document.Add(p);
50:                   document.Add(p);
51:                   PdfContentByte cb writer.DirectContent;
52:                   byte[] maskr = {(byte)0x3c, (byte)0x7e, (byte)0xe7, (byte)0xc3, (byte)0xc3, (byte)0xe7, (byte)0x7e, (byte)0x3c};
53:                   Image mask Image.GetInstance(8811maskr);
54:                   mask.MakeMask();
55:                   mask.Inverted=true;
56:   //                mask.InvertMask = true;
57:                   Image image Image.GetInstance("vonnegut.gif");
58:                   image.ImageMask mask;
59:                   image.SetAbsolutePosition(60620);
60:                   // explicit masking
61:                   cb.AddImage(image);
62:                   // stencil masking
63:                   cb.SetRGBColorFill(25500);
64:                   cb.AddImage(maskmask.ScaledWidth 800mask.ScaledHeight 8100400);
65:                   cb.SetRGBColorFill(02550);
66:                   cb.AddImage(maskmask.ScaledWidth 800mask.ScaledHeight 8200400);
67:                   cb.SetRGBColorFill(00255);
68:                   cb.AddImage(maskmask.ScaledWidth 800mask.ScaledHeight 8300400);
69:                   document.Close();
70:               }
71:               catch (Exception de
72:               {
73:                   Console.Error.WriteLine(de.StackTrace);
74:               }
75:           }
76:       }
77:   }