Example





In This Topic

FillPath Method (GdPicturePDF)

In This Topic
Fills the current path, defined within a currently selected page of the loaded PDF document, using the nonzero winding number rule to determine the region to fill. In other words, this method sets the path-painting operator "f". Any sub-paths, that are open, are implicitly closed before being filled (see PDF Reference, Section "Path-Painting Operators"). By the definition the "f" operator uses the current non-stroking color, previously defined by the GdPicturePDF.SetFillColor method, to paint the entire region enclosed by the current path.
Syntax
'Declaration

 

Public Function FillPath() As GdPictureStatus
public GdPictureStatus FillPath()
public function FillPath(): GdPictureStatus; 
public function FillPath() : GdPictureStatus;
public: GdPictureStatus FillPath(); 
public:

GdPictureStatus FillPath(); 

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.

You also need to be aware that the path-painting operators end a path object, so once a path has been painted, means filled, it is no longer defined. If you want to fill and stroke the current path together, you need to use the GdPicturePDF.FillAndStrokePath method instead of the sequence of the methods GdPicturePDF.FillPath and GdPicturePDF.StrokePath.

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

Example
How to fill the current path.
Dim caption As String = "Example: FillPath"

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_FillPath1.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: FillPath";

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_FillPath1.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: FillPath"

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.SetFillColor(138, 43, 226) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.BeginPath(200, 40) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.AddLineToPath(20, 90) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.AddLineToPath(200, 70) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.AddLineToPath(20, 40) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.AddLineToPath(200, 90) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.FillPath() = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.BeginPath(200, 110) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.AddLineToPath(20, 160) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.AddLineToPath(200, 140) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.AddLineToPath(20, 110) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.AddLineToPath(200, 160) = GdPictureStatus.OK) AndAlso

       (gdpicturePDF.FillPathOdd() = GdPictureStatus.OK) Then

        status = gdpicturePDF.SaveToFile("test_FillPath2.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: FillPath";

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.SetFillColor(138, 43, 226) == GdPictureStatus.OK) &&

        (gdpicturePDF.BeginPath(200, 40) == GdPictureStatus.OK) &&

        (gdpicturePDF.AddLineToPath(20, 90) == GdPictureStatus.OK) &&

        (gdpicturePDF.AddLineToPath(200, 70) == GdPictureStatus.OK) &&

        (gdpicturePDF.AddLineToPath(20, 40) == GdPictureStatus.OK) &&

        (gdpicturePDF.AddLineToPath(200, 90) == GdPictureStatus.OK) &&

        (gdpicturePDF.FillPath() == GdPictureStatus.OK) &&

        (gdpicturePDF.BeginPath(200, 110) == GdPictureStatus.OK) &&

        (gdpicturePDF.AddLineToPath(20, 160) == GdPictureStatus.OK) &&

        (gdpicturePDF.AddLineToPath(200, 140) == GdPictureStatus.OK) &&

        (gdpicturePDF.AddLineToPath(20, 110) == GdPictureStatus.OK) &&

        (gdpicturePDF.AddLineToPath(200, 160) == GdPictureStatus.OK) &&

        (gdpicturePDF.FillPathOdd() == GdPictureStatus.OK))

    {

        status = gdpicturePDF.SaveToFile("test_FillPath2.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