CloseAndFillAndStrokePathOdd Method (GdPicturePDF)
                                 
                                
                                    
                                        In This Topic
                                    
                                
                                Closes, fills and then strokes the current path, using the even-odd rule (an alternative to the nonzero winding number rule) to determine the region to fill, defined within a currently selected page of the loaded PDF document. More precisely, this method sets the path-painting operator "b*". The use of this method has the same effect as the use of the sequence of methods ClosePath() and FillAndStrokePathOdd(), and therefore all details related to the 
ClosePath method and 
FillAndStrokePathOdd method remain in effect.
Syntax
            
        
            
            
            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.
 
            
            
            
            
            
            Example
How to close the current path with filling and stroking it at the same time using both rules to determine the region to fill.
            
            
            
             
    
	
		Dim caption As String = "Example: CloseAndFillAndStrokePathOdd"
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(0, 0, 255) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineColor(255, 0, 0) = 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.CloseAndFillAndStrokePath() = 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.CloseAndFillAndStrokePathOdd() = GdPictureStatus.OK) Then
        status = gdpicturePDF.SaveToFile("test_CloseAndFillAndStrokePathOdd.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: CloseAndFillAndStrokePathOdd";
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(0, 0, 255) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineColor(255, 0, 0) == 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.CloseAndFillAndStrokePath() == 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.CloseAndFillAndStrokePathOdd() == GdPictureStatus.OK))
    {
        status = gdpicturePDF.SaveToFile("test_CloseAndFillAndStrokePathOdd.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();
	 
	
 
Example
How to close the current path with filling and stroking it at the same time using both rules to determine the region to fill.
            
            Dim caption As String = "Example: CloseAndFillAndStrokePathOdd"
            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(0, 0, 255) = GdPictureStatus.OK) AndAlso
                   (gdpicturePDF.SetLineColor(255, 0, 0) = 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.CloseAndFillAndStrokePath() = 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.CloseAndFillAndStrokePathOdd() = GdPictureStatus.OK) Then
                    status = gdpicturePDF.SaveToFile("test_CloseAndFillAndStrokePathOdd.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: CloseAndFillAndStrokePathOdd";
            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(0, 0, 255) == GdPictureStatus.OK) &&
                    (gdpicturePDF.SetLineColor(255, 0, 0) == 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.CloseAndFillAndStrokePath() == 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.CloseAndFillAndStrokePathOdd() == GdPictureStatus.OK))
                {
                    status = gdpicturePDF.SaveToFile("test_CloseAndFillAndStrokePathOdd.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