Path Class Documentation

class Path : Element

Namespace:Datalogics::PDFL

Inherits from:
Element

Detailed Description

A path in a PDF file defines shapes.

Paths in PDF files are used to draw lines, define filled areas, and define boundaries for clipping graphics. A path is composed of straight and curved line segments.

Referenced by

Constructor & Destructor Documentation

Path

Path()

Create a path.

Path

Path(GraphicState graphicState)

Parameters

graphicState: GraphicState

the initial graphic state for the path

Create a path with a given graphic state.

Property Documentation

BoundingBox

Rect BoundingBox[get]

The bounding box for this element.

The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself.

Clip

Clip Clip[get, set]

Gets the current Clip for an Element.

GraphicState

GraphicState GraphicState[get, set]

Get the graphic state of the current path.

May return null if this element does not have a GraphicState.

Matrix

Matrix Matrix[get, set]

The transformation matrix for the element.

PaintOp

PathPaintOpFlags PaintOp[get, set]

Gets the fill and stroke attributes of a path.

Segments

System.Collections.Generic.IList< Segment > Segments[get, set]

Get the segments of the path.

Returns a list of Segment objects, one for each segment in the path.

Member Function Documentation

AddCurve

void AddCurve(Point Point1, Point Point2, Point Point3)

Parameters

Point1: Point

first Bezier control point

Point2: Point

second Bezier control point

Point3: Point

the ending Point of the Bezier curve which will also be the current point of the current path.

Returns:

void

Adds a Bezier curve from the current path using the first two points specified as Bezier control points ending at the third point. The new current point is then set to the third point.

AddCurveV

void AddCurveV(Point Point1, Point Point2)

Parameters

Point1: Point

first Bezier control point

Point2: Point

the ending Point of the Bezier curve which will also be the new current point of the path.

Returns:

void

Adds a Bezier curve from the current path. This extends from the current path to the point Point2 using the current point and the first point specified as Bezier control points ending at the second point. The new current point is then set to the second point.

AddCurveY

void AddCurveY(Point Point1, Point Point2)

Parameters

Point1: Point

first Bezier control point

Point2: Point

second Bezier control point and the ending Point of the Bezier curve which will also be the new current point of the path.

Returns:

void

Adds a Bezier curve from the current path. This extends from the current path to the point Point2 using the two points specified as Bezier control points ending at the second point. The new current point is then set to the second point.

AddLine

void AddLine(Point Point)

Parameters

Point: Point

the coordinates of the endpoint of the new line.

Returns:

void

Adds a line to the current path from the current path position. The given point becomes the new current position.

AddRect

void AddRect(Point Point, double Width, double Height)

Parameters

Point: Point

the coordinates of the lower left corner of the new rectangle.

Width: double

the width of the new rectangle.

Height: double

the height of the new rectangle.

Returns:

void

Adds a rectangle to the current path with the lower left corner at the give point, and with the width and height specified.

Clone

new Path Clone()

Returns:

new Path

The copied path.

Makes a copy of the path.

Make a copy of an path to obtain a new path that has a distinct set of attributes.

Clone

new Path Clone(ElementCloneFlags cloneFlags)

Parameters

cloneFlags: ElementCloneFlags

Flags that modify the cloning operation.

Returns:

new Path

The copied path.

Makes a copy of the path.

Make a copy of an path to obtain a new path that has a distinct set of attributes.

ClosePath

void ClosePath()

Returns:

void

Closes the current subpath.

ColorConvert

Path ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed)

Parameters

document: Document

The document the element belongs to.

prof: ColorProfile

The ICC ColorProfile to be applied.

intent: RenderIntent

The ICC Rendering Intent for the ColorProfile

embed: bool

If true, embed the color space and make the object calibrated. If it is false and the target profile is CMYK, RGB, or Gray, the colors space of the resulting object, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively.

Returns:

Path

A new Path with the applied ICC ColorProfile.

Applies the specified ICC ColorProfile to the Path

Dispose

void Dispose()

Returns:

void

MoveTo

void MoveTo(Point Point)

Parameters

Point: Point

the coordinates of the new current point.

Returns:

void

Moves the current point of the path to the given point.

Rotate

void Rotate(double theta)

Parameters

theta: double

The rotation angle in degrees.

Returns:

void

Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ].

Scale

void Scale(double sx, double sy)

Parameters

sx: double

The horizontal scale factor.

sy: double

The vertical scale factor.

Returns:

void

Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ].

Translate

void Translate(double tx, double ty)

Parameters

tx: double

The horizontal translation distance in user space units.

ty: double

The vertical translation distance in user space units.

Returns:

void

Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ].