GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / ClosePath Method
Example





In This Topic
ClosePath Method (GdPicturePDF)
In This Topic
Closes and terminates the current subpath, defined within a currently selected page of the loaded PDF document, by appending a straight line segment from the current point to the starting point of the subpath. More precisely, this method sets the path construction operator "h". If the current subpath is already closed, any other additional "h" operator does nothing (see PDF Reference, Section "Path Construction Operators").
Syntax
'Declaration
 
Public Function ClosePath() As GdPictureStatus
public GdPictureStatus ClosePath()
public function ClosePath(): GdPictureStatus; 
public function ClosePath() : GdPictureStatus;
public: GdPictureStatus ClosePath(); 
public:
GdPictureStatus ClosePath(); 

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
This method is only allowed for use with non-encrypted documents.

For further assistance, please see the Path Construction and Painting section of the GdPicturePDF class in the Reference Guide, as well as the Path Construction Operators section in the PDF Reference.

Example
How to close the current path.
Dim caption As String = "Example: ClosePath"
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.NewPDF()
If status = GdPictureStatus.OK Then
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter)
    If (gdpicturePDF.NewPage(210, 297) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineWidth(2) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineColor(255, 0, 0) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetFillColor(138, 43, 226) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.BeginPath(100, 10) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(20, 50) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(190, 50) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.ClosePath() = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.StrokePath() = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.BeginPath(100, 80) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(20, 120) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(190, 120) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.ClosePath() = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.FillPath() = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.BeginPath(100, 150) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(20, 200) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(190, 200) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.CloseAndFillAndStrokePath() = GdPictureStatus.OK) Then
        status = gdpicturePDF.SaveToFile("test_ClosePath1.pdf")
        If status = GdPictureStatus.OK Then
            MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
        Else
            MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption)
        End If
    Else
        MessageBox.Show("The example has not been followed successfully." + vbCrLf + "The last known status is " + gdpicturePDF.GetStat().ToString(), caption)
    End If
Else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: ClosePath";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.NewPDF();
if (status == GdPictureStatus.OK)
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter);
    if ((gdpicturePDF.NewPage(210, 297) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineWidth(2) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineColor(255, 0, 0) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetFillColor(138, 43, 226) == GdPictureStatus.OK) &&
        (gdpicturePDF.BeginPath(100, 10) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(20, 50) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(190, 50) == GdPictureStatus.OK) &&
        (gdpicturePDF.ClosePath() == GdPictureStatus.OK) &&
        (gdpicturePDF.StrokePath() == GdPictureStatus.OK) &&
        (gdpicturePDF.BeginPath(100, 80) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(20, 120) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(190, 120) == GdPictureStatus.OK) &&
        (gdpicturePDF.ClosePath() == GdPictureStatus.OK) &&
        (gdpicturePDF.FillPath() == GdPictureStatus.OK) &&
        (gdpicturePDF.BeginPath(100, 150) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(20, 200) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(190, 200) == GdPictureStatus.OK) &&
        (gdpicturePDF.CloseAndFillAndStrokePath() == GdPictureStatus.OK))
    {
        status = gdpicturePDF.SaveToFile("test_ClosePath1.pdf");
        if (status == GdPictureStatus.OK)
            MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);
        else
            MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption);
    }
    else
        MessageBox.Show("The example has not been followed successfully.\nThe last known status is " + gdpicturePDF.GetStat().ToString(), caption);
}
else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption);
gdpicturePDF.Dispose();
Dim caption As String = "Example: ClosePath"
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.NewPDF()
If status = GdPictureStatus.OK Then
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter)
    If (gdpicturePDF.NewPage(210, 297) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineWidth(2) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineColor(255, 0, 0) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetFillColor(138, 43, 226) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.BeginPath(100, 10) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(20, 50) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(190, 50) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.StrokePath() = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.BeginPath(100, 80) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(20, 120) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(190, 120) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.ClosePath() = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.StrokePath() = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.BeginPath(100, 150) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(20, 200) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.AddLineToPath(190, 200) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.CloseAndStrokePath() = GdPictureStatus.OK) Then
        status = gdpicturePDF.SaveToFile("test_ClosePath2.pdf")
        If status = GdPictureStatus.OK Then
            MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
        Else
            MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption)
        End If
    Else
        MessageBox.Show("The example has not been followed successfully." + vbCrLf + "The last known status is " + gdpicturePDF.GetStat().ToString(), caption)
    End If
Else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: ClosePath";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.NewPDF();
if (status == GdPictureStatus.OK)
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter);
    if ((gdpicturePDF.NewPage(210, 297) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineWidth(2) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineColor(255, 0, 0) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetFillColor(138, 43, 226) == GdPictureStatus.OK) &&
        (gdpicturePDF.BeginPath(100, 10) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(20, 50) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(190, 50) == GdPictureStatus.OK) &&
        (gdpicturePDF.StrokePath() == GdPictureStatus.OK) &&
        (gdpicturePDF.BeginPath(100, 80) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(20, 120) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(190, 120) == GdPictureStatus.OK) &&
        (gdpicturePDF.ClosePath() == GdPictureStatus.OK) &&
        (gdpicturePDF.StrokePath() == GdPictureStatus.OK) &&
        (gdpicturePDF.BeginPath(100, 150) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(20, 200) == GdPictureStatus.OK) &&
        (gdpicturePDF.AddLineToPath(190, 200) == GdPictureStatus.OK) &&
        (gdpicturePDF.CloseAndStrokePath() == GdPictureStatus.OK))
    {
        status = gdpicturePDF.SaveToFile("test_ClosePath2.pdf");
        if (status == GdPictureStatus.OK)
            MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);
        else
            MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption);
    }
    else
        MessageBox.Show("The example has not been followed successfully.\nThe last known status is " + gdpicturePDF.GetStat().ToString(), caption);
}
else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption);
gdpicturePDF.Dispose();
See Also