[PDFNet] How do I add a custom image RubberStamp annotation?

Q: How do I add a custom image RubberStamp annotation?


A: The following sample snippet was contributed by one of PDFNet
users:

public static void drawAnnot(PDFDoc doc, Page page, Rect pos, string
imgFullPath)
{
pdftron.PDF.Image img = pdftron.PDF.Image.Create(doc,
imgFullPath);
pdftron.PDF.Annots.RubberStamp stamp =
pdftron.PDF.Annots.RubberStamp.Create(doc, pos);
stamp.SetAppearance(CreateImageAppearance(doc, img));
page.AnnotPushBack(stamp);
}

static pdftron.SDF.Obj CreateImageAppearance(PDFDoc doc,
pdftron.PDF.Image img)
{
ElementBuilder builder = new ElementBuilder();
ElementWriter writer = new ElementWriter();
writer.Begin(doc);
Element element = builder.CreateImage(img, new
pdftron.Common.Matrix2D());
Rect bbox = new Rect();
element.GetBBox(bbox);
element.GetGState().SetFillOpacity(0.9);
writer.WriteElement(element);
pdftron.SDF.Obj stm = writer.End();
writer.Dispose();
builder.Dispose();

stm.PutRect("BBox", bbox.x1, bbox.y1, bbox.x2, bbox.y2);
stm.PutName("Subtype", "Form");
return stm;
}