Geometric figures
Informations
Author: David Hernández Sanz
License: FPDF
Description
This extension allows to draw lines, rectangles, ellipses, polygons and curves with line style. Public methods are:
• SetLineStyle($style: array)
Sets line style. Parameters are:
- style
: an array with the following possible keys:
. width: width of the line in user units.
. cap: type of cap to put on the line (butt, round, square). The difference between "square" and "butt" is that "square" projects a flat end past the end of the line.
. join: miter, round, or bevel.
. dash: dash pattern. Is 0 (without dash) or array with series of length values, which are the lengths of the on and off dashes.
. phase: modifier of the dash pattern which is used to shift the point at which the pattern starts.
. color: draw color. Array with components (red, green, blue).
• Line($x1: float, $y1: float, $x2: float, $y2: float, $style: array)
Draws a line. Overrides the method from FPDF. Parameters are:
- x1
, y1
: start point.
- x2
, y2
: end point.
- style
: line style (array like for SetLineStyle).
• Rect($x: float, $y: float, $w: float, $h: float, $style: string, $border_style: array, $fill_color: array)
Draws a rectangle. Overrides the method from FPDF. Parameters are:
- x
, y
: top left corner.
- w
, h
: width and height.
- style
: style of rectangle (draw and/or fill: D, F, DF, FD).
- border_style
: border style of rectangle. Array with index: (all => style) for all borders, or (L => style, T => style, R => style, B => style) for each border. Style is an array like for SetLineStyle.
- fill_color
: fill color. Array with components (red, green, blue).
• Curve($x0: float, $y0: float, $x1: float, $y1: float, $x2: float, $y2: float, $x3: float, $y3: float, $style: string, $line_style: array, $fill_color: array)
Draws a Bézier curve. Parameters are:
- x0
, y0
: start point.
- x1
, y1
: control point 1.
- x2
, y2
: control point 2.
- x3
, y3
: end point.
- style
: style of rectangle (draw and/or fill: D, F, DF, FD).
- line_style
: line style for curve. Array like for SetLineStyle.
- fill_color
: fill color. Array with components (red, green, blue).
• Ellipse($x0: float, $y0: float, $rx: float, $ry: float, $angle: float, $astart: float, $afinish: float, $style: string, $line_style: array, $fill_color: array, $nSeg: integer)
Draws an ellipse. Parameters are:
- x0
, y0
: center point.
- rx
, ry
: horizontal and vertical radius (if ry is 0, this is a circle).
- angle
: orientation angle (anti-clockwise).
- astart
: start angle.
- afinish
: finish angle.
- style
: style of ellipse (draw and/or fill: D, F, DF, FD, C (D + close)).
- line_style
: line style for ellipse. Array like for SetLineStyle.
- fill_color
: fill color. Array with components (red, green, blue).
- nSeg
: ellipse is made up of nSeg Bézier curves.
• Circle($x0: float, $y0: float, $r: float, $astart: float, $afinish: float, $style: string, $line_style: array, $fill_color: array, $nSeg: integer)
Draws a circle. Parameters are:
- x0
, y0
: center point.
- r
: radius.
- astart
: start angle.
- afinish
: finish angle.
- style
: style of circle (draw and/or fill: D, F, DF, FD, C (D + close)).
- line_style
: line style for circle. Array like for SetLineStyle.
- fill_color
: fill color. Array with components (red, green, blue).
- nSeg
: circle is made up of nSeg Bézier curves.
• Polygon($p: array, $style: string, $line_style: array, $fill_color: array)
Draws a polygon. Parameters are:
- p
: points. Array with values x0, y0, x1, y1,..., x(np-1), y(np-1).
- style
: style of polygon (draw and/or fill: D, F, DF, FD).
- line_style
: line style. Array with index (all => style) for all borders, or (0..np-1 => style) for each border. Style is an array like for SetLineStyle.
- fill_color
: fill color. Array with components (red, green, blue)
• RegularPolygon($x0: float, $y0: float, $r: float, $ns: Integer, $angle: float, $circle: boolean, $style: string, $line_style: array, $fill_color: array, $circle_style: array, $circle_line_style: array, $circle_fill_color: array)
Draws a regular polygon. Parameters are:
- x0
, y0
: center point.
- r
: radius of circumscribed circle.
- ns
: number of sides.
- angle
: orientation angle (anti-clockwise).
- circle
: draw circumscribed circle or not.
- style
: style of polygon (draw and/or fill: D, F, DF, FD).
- line_style
: line style. Array with index (all => style) for all borders, or (0..ns-1 => style) for each border. Style is an array like for SetLineStyle.
- fill_color
: fill color. Array with components (red, green, blue).
- circle_style
: style of circumscribed circle (draw and/or fill: D, F, DF, FD).
- circle_line_style
: line style for circumscribed circle. Array like for SetLineStyle.
- circle_fill_color
: fill color for circumscribed circle. Array with components (red, green, blue).
• StarPolygon($x0: float, $y0: float, $r: float, $nv: Integer, $ng: Integer, $angle: float, $circle: boolean, $style: string, $line_style: array, $fill_color: array, $circle_style: array, $circle_line_style: array, $circle_fill_color: array)
Draws a star polygon. Parameters are:
- x0
, y0
: center point.
- r
: radius of circumscribed circle.
- nv
: number of vertices.
- ng
: number of gaps (ng % nv = 1 => regular polygon).
- angle
: orientation angle (anti-clockwise).
- circle
: draw circumscribed circle or not.
- style
: style of polygon (draw and/or fill) (D, F, DF, FD).
- line_style
: line style. Array with index (all => style) for all borders, or (0..n-1 => style) for each border. Style is an array like for SetLineStyle.
- fill_color
: fill color. Array with components (red, green, blue).
- circle_style
: style of circumscribed circle (draw and/or fill) (D, F, DF, FD) (if draw).
- circle_line_style
: line style for circumscribed circle. Array like for SetLineStyle (if draw).
- circle_fill_color
: fill color for circumscribed circle. Array with components (red, green, blue).
• RoundedRect($x: float, $y: float, $w: float, $h: float, $r: float, $round_corner: string, $style: string, $border_style: string, $fill_color: array)
Draws a rounded rectangle. Parameters are:
- x
, y
: top left corner.
- w
, h
: width and height.
- r
: radius of the rounded corners.
- round_corner
: draws rounded corners or not. String with a 0 (not rounded i-corner) or 1 (rounded i-corner) in i-position. Positions are, in order: top left, top right, bottom right and bottom left.
- style
: style of rectangle (draw and/or fill: D, F, DF, FD).
- border_style
: border style of rectangle. Array like for SetLineStyle.
- fill_color
: fill color. Array with components (red, green, blue).