SetLineDash(Single,Single) Method
In This Topic
Sets the dash pattern to be used when paths are stroked, for example, when you use the
GdPicturePDF.DrawLine method or the
GdPicturePDF.DrawRectangle method. The line dash pattern controls the pattern of dashes and gaps used to stroke paths. The specified values need to be expressed in the current units defined in the PDF document. The initial value is a solid line. You can reset the dash pattern to its initial value simply by using the
GdPicturePDF.SetLineNoDash method.
The dash pattern parameter is one of the graphics state parameters. These parameters are initialized to their default values at the beginning of each page (see PDF Reference, Section "Graphics State").
You can use the GdPicturePDF.GetMeasurementUnit method to determine the currently defined units and you can use the GdPicturePDF.SetMeasurementUnit method to reset the units according to your preference.
Syntax
Parameters
- DashOn
- The width of the dashes, expressed in the current units defined in the PDF document. Initial value is a solid line.
Zero DashOn parameter and zero DashOff parameter can be used to restore the dash pattern to a solid line, in the same way like using the GdPicturePDF.SetLineNoDash method.
- DashOff
- The width of the gaps between the dashes, expressed in the current units defined in the PDF document. Initial value is a solid line.
Zero DashOn parameter and zero DashOff parameter can be used to restore the dash pattern to a solid line in the same way like using the GdPicturePDF.SetLineNoDash method.
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 define different dashed lines to draw various rectangles.
Dim caption As String = "Example: SetLineDash"
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.ResetGraphicsState() = GdPictureStatus.OK) AndAlso 'The default graphics state is set.
(gdpicturePDF.SetLineWidth(1) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineColor(0, 0, 255) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetFillColor(0, 255, 255) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(10, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(5) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(80, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(2) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineDash(5, 3) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(150, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineNoDash() = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineColor(255, 0, 0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(10, 50, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(3) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(80, 50, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(1) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineDash(New Single() {2, 1, 1, 1}) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(150, 50, 40, 20, True, True) = GdPictureStatus.OK) Then
status = gdpicturePDF.SaveToFile("test_Lines.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: SetLineDash";
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.ResetGraphicsState() == GdPictureStatus.OK) && //The default graphics state is set.
(gdpicturePDF.SetLineWidth(1) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineColor(0, 0, 255) == GdPictureStatus.OK) &&
(gdpicturePDF.SetFillColor(0, 255, 255) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(10, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(5) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(80, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(2) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineDash(5, 3) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(150, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineNoDash() == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineColor(255, 0, 0) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(0) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(10, 50, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(3) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(80, 50, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(1) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineDash(new float[] {2, 1, 1, 1}) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(150, 50, 40, 20, true, true) == GdPictureStatus.OK))
{
status = gdpicturePDF.SaveToFile("test_Lines.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 define different dashed lines to draw various rectangles.
Dim caption As String = "Example: SetLineDash"
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.ResetGraphicsState() = GdPictureStatus.OK) AndAlso 'The default graphics state is set.
(gdpicturePDF.SetLineWidth(1) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineColor(0, 0, 255) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetFillColor(0, 255, 255) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(10, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(5) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(80, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(2) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineDash(5, 3) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(150, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineNoDash() = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineColor(255, 0, 0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(0) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(10, 50, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(3) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(80, 50, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineWidth(1) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.SetLineDash(New Single() {2, 1, 1, 1}) = GdPictureStatus.OK) AndAlso
(gdpicturePDF.DrawRectangle(150, 50, 40, 20, True, True) = GdPictureStatus.OK) Then
status = gdpicturePDF.SaveToFile("test_Lines.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: SetLineDash";
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.ResetGraphicsState() == GdPictureStatus.OK) && //The default graphics state is set.
(gdpicturePDF.SetLineWidth(1) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineColor(0, 0, 255) == GdPictureStatus.OK) &&
(gdpicturePDF.SetFillColor(0, 255, 255) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(10, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(5) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(80, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(2) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineDash(5, 3) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(150, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineNoDash() == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineColor(255, 0, 0) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(0) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(10, 50, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(3) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(80, 50, 40, 20, true, true) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineWidth(1) == GdPictureStatus.OK) &&
(gdpicturePDF.SetLineDash(new float[] {2, 1, 1, 1}) == GdPictureStatus.OK) &&
(gdpicturePDF.DrawRectangle(150, 50, 40, 20, true, true) == GdPictureStatus.OK))
{
status = gdpicturePDF.SaveToFile("test_Lines.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