AddPolyRulerAnnot Method (AnnotationManager)
Adds a new GdPicture/XMP poly ruler annotation on the selected page of the document currently handled by this AnnotationManager object according to the parameters you have specified. A poly ruler annotation consists of several connected lines presenting its entire length in the specified measurement unit.
The type of the newly added annotation object is GdPictureAnnotationType.AnnotationTypePolyRuler. You can change the annotation properties directly using the GdPicture14.Annotations.AnnotationPolyRuler class right after the successful creation of the annotation object.
Be aware that annotations are always treated relative to the currently selected page.
Adds a new GdPicture/XMP poly ruler annotation on the selected page of the document currently handled by this AnnotationManager object.
Parameters
- BorderColor
- A color object that defines the required color of the newly added poly ruler annotation.
It is the color of the ruler's drawn line and it corresponds to the AnnotationPolyRuler.StrokeColor property.
- Points
- An array of points, in inches, which determines the poly ruler line segments.
- MeasurementUnit
- The measurement unit of the newly added poly ruler. The poly ruler presents its current length in the defined unit at the end of the drawn line.
Return Value
A GdPicture/XMP AnnotationPolyRuler object. The newly added GdPicture/XMP poly ruler annotation.
How to add a poly ruler annotation to a newly created image.
Dim status As GdPictureStatus = GdPictureStatus.OK
Using image As GdPictureImaging = New GdPictureImaging()
Dim imageID As Integer = image.CreateNewGdPictureImage(1000, 1600, CShort(32), Color.White)
status = image.GetStat()
If (status = GdPictureStatus.OK) AndAlso (imageID <> 0) Then
Using annotMgr As AnnotationManager = New AnnotationManager()
If (annotMgr.InitFromGdPictureImage(imageID) = GdPictureStatus.OK) AndAlso
(annotMgr.SelectPage(1) = GdPictureStatus.OK) Then
Dim left As Single = 1, top As Single = 1, width As Single = 5, height As Single = 3
Dim annotRect As GdPicture14.Annotations.AnnotationRectangle = annotMgr.AddRectangleAnnot(Color.SteelBlue, Color.LightBlue, left, top, width, height)
If (annotMgr.GetStat() = GdPictureStatus.OK) AndAlso (annotRect IsNot Nothing) Then
annotRect.Author = "GdPicture"
annotRect.BorderWidth = 0.1F
annotRect.Opacity = 0.85F
End If
annotRect.Dispose()
If annotMgr.BurnAnnotationsToPage(True) = GdPictureStatus.OK Then
Dim points As PointF() = New PointF(4) {New PointF(left, top), New PointF(left + width, top),
New PointF(left + width, top + height),
New PointF(left, top + height), New PointF(left, top)}
Dim annotPolyRuler As GdPicture14.Annotations.AnnotationPolyRuler = annotMgr.AddPolyRulerAnnot(Color.Blue, points, GdPicture14.Annotations.Annotation.UnitMode.Inch)
If (annotMgr.GetStat() = GdPictureStatus.OK) AndAlso (annotPolyRuler IsNot Nothing) Then
annotPolyRuler.Author = "GdPicture"
annotPolyRuler.BorderWidth = 0.02F
annotPolyRuler.FontSize = 14
annotPolyRuler.FontStyle = System.Drawing.FontStyle.Bold
annotPolyRuler.ForeColor = Color.Red
annotPolyRuler.Opacity = 1
End If
annotPolyRuler.Dispose()
End If
If annotMgr.SaveAnnotationsToPage() = GdPictureStatus.OK Then
annotMgr.SaveDocumentToJPEG("polyruler.jpeg", 75)
End If
End If
status = annotMgr.GetStat()
annotMgr.Close()
End Using
image.ReleaseGdPictureImage(imageID)
End If
End Using
'We assume that the GdViewer1 control has been integrated into your application.
If status = GdPictureStatus.OK Then
GdViewer1.DisplayFromFile("polyruler.jpeg")
Else
MessageBox.Show("Error! Status: " + status.ToString(), "AnnotationManager.AddPolyRulerAnnot")
End If
GdPictureStatus status = GdPictureStatus.OK;
using (GdPictureImaging image = new GdPictureImaging())
{
int imageID = image.CreateNewGdPictureImage(1000, 1600, 32, Color.White);
status = image.GetStat();
if ((status == GdPictureStatus.OK) && (imageID != 0))
{
using (AnnotationManager annotMgr = new AnnotationManager())
{
if ((annotMgr.InitFromGdPictureImage(imageID) == GdPictureStatus.OK) &&
(annotMgr.SelectPage(1) == GdPictureStatus.OK))
{
float left = 1, top = 1, width = 5, height = 3;
GdPicture14.Annotations.AnnotationRectangle annotRect = annotMgr.AddRectangleAnnot(Color.SteelBlue, Color.LightBlue, left, top, width, height);
if ((annotMgr.GetStat() == GdPictureStatus.OK) && (annotRect != null))
{
annotRect.Author = "GdPicture";
annotRect.BorderWidth = 0.1f;
annotRect.Opacity = 0.85f;
}
annotRect.Dispose();
if (annotMgr.BurnAnnotationsToPage(true) == GdPictureStatus.OK)
{
PointF[] points = new PointF[5] { new PointF(left, top), new PointF(left + width, top),
new PointF(left + width, top + height),
new PointF(left, top + height), new PointF(left, top)};
GdPicture14.Annotations.AnnotationPolyRuler annotPolyRuler = annotMgr.AddPolyRulerAnnot(Color.Blue, points, GdPicture14.Annotations.Annotation.UnitMode.Inch);
if ((annotMgr.GetStat() == GdPictureStatus.OK) && (annotPolyRuler != null))
{
annotPolyRuler.Author = "GdPicture";
annotPolyRuler.BorderWidth = 0.02f;
annotPolyRuler.FontSize = 14;
annotPolyRuler.FontStyle = System.Drawing.FontStyle.Bold;
annotPolyRuler.ForeColor = Color.Red;
annotPolyRuler.Opacity = 1;
}
annotPolyRuler.Dispose();
}
if (annotMgr.SaveAnnotationsToPage() == GdPictureStatus.OK)
annotMgr.SaveDocumentToJPEG("polyruler.jpeg", 75);
}
status = annotMgr.GetStat();
annotMgr.Close();
}
image.ReleaseGdPictureImage(imageID);
}
}
//We assume that the GdViewer1 control has been integrated into your application.
if (status == GdPictureStatus.OK)
GdViewer1.DisplayFromFile("polyruler.jpeg");
else
MessageBox.Show("Error! Status: " + status.ToString(), "AnnotationManager.AddPolyRulerAnnot");